使用jQuery,你如何检查选择菜单中是否有一个选项,如果没有,分配一个选择的选项。
(选择生成与一个应用程序的PHP函数的迷宫,我刚刚继承,所以这是一个快速修复,而我得到我的脑袋周围的那些:)
使用jQuery,你如何检查选择菜单中是否有一个选项,如果没有,分配一个选择的选项。
(选择生成与一个应用程序的PHP函数的迷宫,我刚刚继承,所以这是一个快速修复,而我得到我的脑袋周围的那些:)
当前回答
更改选择框上的事件以触发,一旦它发生,则只需拉出所选选项的id属性:-
$("#type").change(function(){
var id = $(this).find("option:selected").attr("id");
switch (id){
case "trade_buy_max":
// do something here
break;
}
});
其他回答
我在找类似的东西,发现了这个:
$('.mySelect:not(:has(option[selected])) option[value="2"]').attr('selected', true);
这将查找类中尚未选定选项的所有选择菜单,并选择默认选项(在本例中为“2”)。
我尝试使用:selected而不是[selected],但这不起作用,因为某些东西总是被选中,即使没有任何属性
我已经遇到了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;
}
});
这个问题已经很老了,有很多观点,所以我只是抛出一些东西,我相信会对一些人有所帮助。
检查一个选择元素是否有任何选定项:
if ($('#mySelect option:selected').length > 0) { alert('has a selected item'); }
或者检查一个select对象是否没有被选中:
if ($('#mySelect option:selected').length == 0) { alert('nothing selected'); }
或者如果你在某种循环中,想要检查当前元素是否被选中:
$('#mySelect option').each(function() {
if ($(this).is(':selected')) { .. }
});
检查一个元素在循环中是否未被选中:
$('#mySelect option').each(function() {
if ($(this).not(':selected')) { .. }
});
这是一些方法。jQuery有许多不同的方法来完成相同的事情,因此通常只需选择一种最有效的方法。
if (!$("#select").find("option:selected").length){
//
}