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

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


当前回答

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

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

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

其他回答

我在找类似的东西,发现了这个:

$('.mySelect:not(:has(option[selected])) option[value="2"]').attr('selected', true);

这将查找类中尚未选定选项的所有选择菜单,并选择默认选项(在本例中为“2”)。

我尝试使用:selected而不是[selected],但这不起作用,因为某些东西总是被选中,即使没有任何属性

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

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

你们选的人太多了。只需按值选择:

$("#mySelect").val( 3 );
$("option[value*='2']").attr('selected', 'selected');
// 2 for example, add * for every option

这是我的函数改变所选的选项。它适用于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');   
}