检查是否选择了第一个选项

时间:2010-08-13 14:35:03

标签: jquery

我如何检查是否选择了第一个选项然后执行一些代码。

如果选择了名为“My_Saved_Shipping”的框,则选择第一个选项,然后执行代码。

<select name="My_Saved_Shipping">
<option>Select/Enter Address</option>
<option value="1">text</option>
<option value="2">text2</option>
</select>

5 个答案:

答案 0 :(得分:19)

if ( $('select[name=My_Saved_Shipping]')[0].selectedIndex === 0 ) {
    // do something
}

最好给<select> id {通常与name匹配) - #id选择器比[attr=val]选择器快

答案 1 :(得分:17)

这是另一种方法:

$('.myselect').change(function() { 
    if ($(this).children('option:first-child').is(':selected')) {
       //do something
    }
});

答案 2 :(得分:8)

<script type="text/javascript">
    if($("select[name='My_Saved_Shipping']").selectedIndex == 0)
    {
        //This is where your code goes
        alert('First Element is selected');
    }
</script>

如果您想测试option中的文字,请使用:

<script type="text/javascript">
    if($("select[name='My_Saved_Shipping']").text == 'Select/Enter Address')
    {
        //This is where your code goes
        alert('First Element is selected');
    }
</script>

答案 3 :(得分:2)

编辑:修改选择器以处理名称,还添加代码以连接到选择的更改处理程序,并放置在就绪处理程序中。

$(function(){ 
        $("select[name='My_Saved_Shipping']").change(function() {            
            if (this.selectedIndex == 0){
                 <!-- do stuff -->
                }
          });
}); 

答案 4 :(得分:0)

为什么不使用类似的东西:

<select name="My_Saved_Shipping">
  <option value="-1">Select/Enter Address</option>
  <option value="1">text</option>
  <option value="2">text2</option>
</select>

并测试值是否为负值?