检查是否在加载时使用jquery检查了某些attr

时间:2013-03-11 16:05:54

标签: jquery selectedvalue

我想检查我的html选择中的3个选项中的2个细节是否在加载时被检查。

实际上,我的HTML:

<select name="country" id="country" tabindex="7" style="width:128px; margin-right:26px;">
            <option selected="selected" name="0">Choisir...</option>
            <option value="Canada" <?php if($pays == 'Canada'){echo "selected=selected";} ?>>Canada</option>
            <option value="États-Unis" <?php if($state == 'États-Unis'){echo "selected=selected";} ?>>États-Unis</option>
        </select>

我的jQuery如下:

if($('#reference').attr('selected',true))
    {
        $('.showDetaillant').show();
    }

正如您所看到的那样,只检查某些内容是“已选中”。默认情况下,这是“Choisir ...”选项。

想要我正在寻找,如果选择“Choisir ...”选项,则设置.hide()。

THX

3 个答案:

答案 0 :(得分:2)

您可以使用selectedIndex属性,如果要在页面加载时检查所选选项,可以在DOMReady上触发change事件。

$('#country').change(function(){
    if (this.selectedIndex === 0) {
        $('.showDetaillant').show();
    }
}).change();

http://jsfiddle.net/JfDZ4/

PS:请注意,您使用attr作为 setter ,它返回一个始终被评估为 true 的jQuery对象。

答案 1 :(得分:1)

    <select name="country" id="country" tabindex="7" style="width:128px; margin-
        right:26px;">
             <option selected="selected" value="0">Choisir...</option>
     </select>

<script>
     $(document).ready(function () {

         if($('#country').val()=="0")
           $('.showDetaillant').show();
       });

<script>

答案 2 :(得分:0)

您可以尝试以下操作,它会为您提供所选选项的索引

$("select#elem").get(0).selectedIndex > 0

阅读此How to check if selected index of dropdownlist is not 0 or -1 using jquery