-4

可能重复:
检查是否使用 jQuery 选择了选项,如果没有选择默认值

我有这样的html:

<div id="somedivid">

<select class="someclass">
<!-- options -->
</select>

<select class="someclass">
<!-- options -->
</select>

</div>

如何检查两个选择框中是否选择了选项?

编辑:我不能更改 html,所以这意味着我不能添加 id 来选择元素。

4

4 回答 4

3

一个选择总是有一个选择。

但是假设您像这样输入一个空选项:

​&lt;select id=select1>
    <option></option>
    <option>A</option>
    <option>B</option>
</select>​

你可以测试一下:

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

编辑:如果你没有 id 或名字,你可以使用这个:

var allSelected = true:
$('#somedivid select').each(function() {
    if (!$(this).val()) {
       allSelected = false;
       break;
    }
});
于 2012-09-21T12:10:09.333 回答
0
<script type="text/javascript">
    $( function() { 
        $( '#somedivid > select' ).bind( 'change', function(){
            if( $( '#sel1').attr( 'value' ) != 'default' && $( '#sel1' ).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>
于 2012-09-21T12:15:07.017 回答
0

考虑到两个选择框都有一些默认选项值 =“none”

var isBothSelected=0;
if($('#selectbox1 option:selected').val() =='none'){
    alert('Plase select the select1');
    isBothSelected=isBothSelected+1;
    //return false;
}
if($('#selectbox2 option:selected').val() =='none'){
    alert('Plase select the select2');
   isBothSelected=isBothSelected+1;
    // return false;
}
if(isBothSelected ==2){
  alert('Both are not selected')
}
于 2012-09-21T12:16:26.070 回答
0

试试这个

      var val=  $("#selectid option:selected").value();
           if(val==="")
               {
          alert("your code on not selected condition");
           }
于 2012-09-21T12:16:52.303 回答