使用jQuery,你如何检查选择菜单中是否有一个选项,如果没有,分配一个选择的选项。
(选择生成与一个应用程序的PHP函数的迷宫,我刚刚继承,所以这是一个快速修复,而我得到我的脑袋周围的那些:)
使用jQuery,你如何检查选择菜单中是否有一个选项,如果没有,分配一个选择的选项。
(选择生成与一个应用程序的PHP函数的迷宫,我刚刚继承,所以这是一个快速修复,而我得到我的脑袋周围的那些:)
当前回答
我发现了一个很好的方法来检查,如果选项被选中,并选择一个默认时,它不是。
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()是未定义的
其他回答
如果你需要显式检查每个选项,看看是否有“selected”属性,你可以这样做。否则使用option:selected你将得到第一个默认选项的值。
var viewport_selected = false;
$('#viewport option').each(function() {
if ($(this).attr("selected") == "selected") {
viewport_selected = true;
}
});
我发现了一个很好的方法来检查,如果选项被选中,并选择一个默认时,它不是。
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()是未定义的
这是我的函数改变所选的选项。它适用于jQuery 1.3.2
function selectOption(select_id, option_val) {
$('#'+select_id+' option:selected').removeAttr('selected');
$('#'+select_id+' option[value='+option_val+']').attr('selected','selected');
}
查看select元素的selectedIndex。顺便说一下,这是一个普通的DOM,不是特定于jquery的。
if (!$("#select").find("option:selected").length){
//
}