使用jQuery,你如何检查选择菜单中是否有一个选项,如果没有,分配一个选择的选项。

(选择生成与一个应用程序的PHP函数的迷宫,我刚刚继承,所以这是一个快速修复,而我得到我的脑袋周围的那些:)


当前回答

$("#select_box_id").children()[1].selected

这是在jquery中检查一个选项是否被选中的另一种方式。这将返回布尔值(True或False)。

[1]是选择框选项的索引

其他回答

更改选择框上的事件以触发,一旦它发生,则只需拉出所选选项的id属性:-

$("#type").change(function(){
  var id = $(this).find("option:selected").attr("id");

  switch (id){
    case "trade_buy_max":
      // do something here
      break;
  }
});
$("#select_box_id").children()[1].selected

这是在jquery中检查一个选项是否被选中的另一种方式。这将返回布尔值(True或False)。

[1]是选择框选项的索引

这是一个快速脚本,我发现工作… . result被分配给一个标签。

$(".Result").html($("option:selected").text());

lencioni的答案是我推荐的。您可以使用“#mySelect option[value='yourDefaultValue']”更改选项的选择器('#mySelect option:last')来选择具有特定值的选项。更多关于选择器的信息。

如果你在客户端大量使用选择列表,请检查这个插件: http://www.texotela.co.uk/code/jquery/select/。如果您想看到更多使用选择列表的示例,请查看源代码。

我发现了一个很好的方法来检查,如果选项被选中,并选择一个默认时,它不是。

    if(!$('#some_select option[selected="selected"]').val()) {
        //here code if it HAS NOT selected value
        //for exaple adding the first value as "placeholder"
        $('#some_select option:first-child').before('<option disabled selected>Wybierz:</option>');
    }

如果#some_select没有默认选择选项,则.val()是未定义的