我有一个HTML Multi选择框
<form action="form_action.php" method="Post">
<select name="cars[]" multiple id="select_id">
<option value="all" id="option_id">All</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<input type="submit">
</form>
我要做的是检查jQuery中是否选择了“All”选项。
我试过的是
<script>
$(document).ready(function()
{
$('#option_id')
.click(
function()
{
if ($("#select_id option[value='all']").length == 0) { //value does not exist so add
//Do something if not selected
}
else
{
//DO something if selected
}
//$("#select_id option:selected").removeAttr("selected"); //Remove
//$("#select_id option").attr('selected', 'selected'); //Add
}
);
});
</script>
但它没有用。
有人可以帮我吗?
提前感谢您的帮助。
答案 0 :(得分:14)
请按以下代码执行
$('#option_id').click(function(){
if ($("#select_id option[value=all]:selected").length > 0){
alert('all is selected');
}
else{
//DO something if not selected
}
//$("#select_id option:selected").removeAttr("selected"); //Remove
//$("#select_id option").attr('selected', 'selected'); //Add
});
您可以查看以下小提琴
答案 1 :(得分:5)
您可以使用:selected
选项卡来确定是否已选择
if ($("#select_id option[value=all]:selected").length > 0){
//all is selected
}
答案 2 :(得分:1)
从我所看到的情况来看,当您更改<select>
框中的选项时,您是否尝试检测是否已选中该对象,对吧?
试试这个:
$("#select_id").change(function () {
if ($(this).find("option:selected").val() == "all") {
// all is selected
} else {
// all isn't selected
}
});