检查是否选择了选项

时间:2012-09-21 12:08:53

标签: jquery

  

可能重复:
  Check if option is selected with jQuery, if not select a default

我有这样的HTML:

<div id="somedivid">

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

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

</div>

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

编辑:我无法更改html,所以这意味着我无法为选择元素添加ID。

4 个答案:

答案 0 :(得分:3)

选择总是有选择。

但是假设你选择了这样一个空的选择:

​<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;
    }
});

答案 1 :(得分: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>

答案 2 :(得分:0)

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

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')
}

答案 3 :(得分:0)

试试这个

      var val=  $("#selectid option:selected").value();
           if(val==="")
               {
          alert("your code on not selected condition");
           }