0

我想检查是否在加载时检查了我的 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() 。

谢谢

4

3 回答 3

2

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

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

http://jsfiddle.net/JfDZ4/

PS:请注意,您使用attrsetter返回一个 jQuery 对象,该对象总是被评估为true.

于 2013-03-11T16:09:49.467 回答
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>
于 2013-03-11T16:10:18.320 回答
0

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

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

阅读此如何使用 jquery 检查下拉列表的选定索引是否不是 0 或 -1

于 2013-03-11T16:14:59.953 回答