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

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


当前回答

简单!默认值应该是第一个选项。完成了!这将引导您使用不引人注目的JavaScript,因为JavaScript不需要:)

低调的JavaScript

其他回答

我已经遇到了texotela插件,这让我像这样解决它:

$(document).ready(function(){
    if ( $("#context").selectedValues() == false) {
    $("#context").selectOptions("71");
    }
});

如果你需要显式检查每个选项,看看是否有“selected”属性,你可以这样做。否则使用option:selected你将得到第一个默认选项的值。

var viewport_selected = false;      
$('#viewport option').each(function() {
    if ($(this).attr("selected") == "selected") {
        viewport_selected = true;
    }
});
$("#select_box_id").children()[1].selected

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

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

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

    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()是未定义的

简单!默认值应该是第一个选项。完成了!这将引导您使用不引人注目的JavaScript,因为JavaScript不需要:)

低调的JavaScript