我想检查页面上的所有下拉菜单是否都有选择值?
狐狸Ex: -<select id="@model.Id">
<option value="0">---</option>
<option value="1">abc</option>
<option value="2">xyz</option>
</select>
<select id="@model.Id">
<option value="0">---</option>
<option value="14">abc</option>
<option value="25">xyz</option>
</select>
两者都不是同一页面并且问题是动态id和名称都分配给dropdrop down所以我不能通过id或name使用jQuery并获得选择的值,而不是我想检查两者都有通过Javascript或jQuery选择的值?
我该怎么做?
此致 Vinit
答案 0 :(得分:2)
试试这个:您可以使用select
对页面上的所有.each()
框进行迭代,并将其与0
进行比较。如果选择值为0
,则表示未选择此选项。
$(function(){
$('select').each(function(){
var value = $(this).val();
var id = $(this).attr('id');
if(value==0)
alert('this dropdown has no selected value, id = '+id);
else
alert('this dropdown has selected value, id = '+id);
}):
});
修改 - 因为OP想要检查是否选择了两个下拉列表然后显示按钮,否则隐藏它,使用下面的代码
$(function(){
$('select').change(function(){
var totalUnselectedDropdown = $('select option[value="0"]:selected').length;
if(totalUnselectedDropdown==0)
{
// enable button
$('#buttonId').prop('disabled',false);
}
else
{
// disable button
$('#buttonId').prop('disabled',true);
}
}):
});
答案 1 :(得分:0)
你可以这样做:
$("select").each(function(){
alert($(this).val()) // will alert selected option value attribute value
if($(this).val() > 0) // value greater than 0 means value selected
{
alert("Value Selected")
}
})
答案 2 :(得分:0)
试试这个:
$("select").each(function(){
if(parseInt($(this).val()) > 0){
//all select have selected value
}
else
{
//any one/all select have not selected value
return false;
}
});