检查选项是否被选择

9 浏览
0 Comments

检查选项是否被选择

可能是重复问题:
\n使用jQuery检查选项是否被选中,如果没有选中,则选择默认值 \n我有如下的html代码:\n



\n如何检查两个选择框中的选项是否被选中?\n编辑:我不能改变html,这意味着我不能为选择元素添加id。

0
0 Comments

问题出现的原因是判断两个下拉框是否都选择了选项,如果都没有选择选项,则弹出提示框提示用户选择。解决方法是通过判断下拉框的选中值是否为默认值"none"来判断是否选择了选项,如果没有选择,则增加一个计数器isBothSelected的值。最后判断isBothSelected的值是否等于2,如果等于2,则弹出提示框提示用户两个下拉框都没有选择选项。

0
0 Comments

问题的出现原因是代码中的判断条件有错误。当前的判断条件是检查两个select元素的value属性是否都不是"default",但实际上两个select元素的id分别是"sel1"和"sel2",而不是"sel1"两次。因此,判断条件永远为真,无法正确执行后续的操作。

解决方法是将判断条件中的"sel1"改为"sel2",这样就可以正确地检查第二个select元素的value属性是否为"default"。修改后的代码如下:

<script type="text/javascript">
    $( function() { 
        $( '#somedivid > select' ).bind( 'change', function(){
            if( $( '#sel1').attr( 'value' ) != 'default' && $( '#sel2' ).attr( 'value' ) != 'default' ){
                //do something here.
            }
        });
    } );
</script>
<div id="somedivid">
    <select id="sel1">
        <option value="default" selected="selected"></option>
        <!-- options -->
    </select>
    <select id="sel2">
        <option value="default" selected="selected"></option>
        <!-- options -->
    </select>
</div>

0
0 Comments

问题的原因是在下拉菜单中添加了一个空选项。解决方法是使用jQuery的.val()函数来检查选项是否被选中。如果没有id或者name属性,可以使用.each()函数来遍历所有的下拉菜单,并使用.val()函数来检查选项是否为空。以下是解决方法的代码示例:

if ($('#select1').val() && $('#select2').val()) {
   // both have selection
}

如果没有id或者name属性,可以使用以下代码:

var allSelected = true;
$('#somedivid select').each(function() {
    if (!$(this).val()) {
       allSelected = false;
       break;
    }
});

请注意,如果没有id或者name属性,需要定义什么意味着选项被选中(例如空选项)。

0