【问题标题】:How to preselect option in select box using jQuery如何使用jQuery在选择框中预选选项
【发布时间】:2011-03-07 14:17:00
【问题描述】:

我有一个带有各种选项的选择框。

当页面加载时,应使用 jQuery 预先选择一个具有值的选项,例如 10。

我该怎么做?

【问题讨论】:

    标签: jquery html forms selection


    【解决方案1】:

    测试示例: http://jsfiddle.net/VArCZ/

    $(document).ready(function() {
    
        $('#mySelectBox').val('10');
    
    });
    

    不过,如果初始值是静态的,则不需要 jQuery:

    <select id='mySelectBox'>
        <option value='5'>5</option>
        <option value='10' selected='selected'>10</option>
        <option value='15'>15</option>
    </select>​
    

    【讨论】:

    • +1 当然正确!我可能会用.val() 补充一点,你提供&lt;option&gt;&lt;/option&gt; 标签之间的值,而不是value= 属性。所以在&lt;option value="10"&gt;Ten&lt;/option&gt; 的情况下,你会使用$("#mySelectBox").val('Ten')
    • @Doug - 实际上,如果存在 value 属性,它会首先匹配该属性。如果没有 value 属性,那么它会尝试匹配文本内容。但是感谢您的+1。 :o) 更新示例: jsfiddle.net/VArCZ/1
    • 老兄.. 认真的吗?我一直认为该方法是#fail ...我需要更多地阅读源代码。谢谢!
    • @Doug - 全面披露:我必须快速进行争夺以确保我做对了。发生的频率比我愿意承认的要多。 :o)
    【解决方案2】:

    当页面加载时运行这个(你可以把它放在&lt;body onload="//put code here"&gt;):

    $("option[value='10']").attr('selected','selected');
    

    【讨论】:

    • 您需要从选择器中删除后代运算符(空格)才能使其工作。 :o)
    • +1 我更喜欢这种方法,而不是使用val() 来设置这些。如果您要呈现多选列表框,我什至不确定val() 应该如何工作......
    • @Funka - 如果是多选,它将接受要设置的值数组。 示例 jsfiddle.net/VArCZ/2
    • @Adam,如何根据select id进行选择?
    • 使用$("#myId")
    【解决方案3】:

    上面的代码可以使用,你可以使用下面的代码:

    $("option[value='10']").attr('selected','selected');
    

    【讨论】:

      【解决方案4】:

      在最新的 jQuery 版本中,这对我有用:

      $("option[value='10']").prop('selected',true);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-12
        • 2013-07-16
        • 1970-01-01
        • 2013-03-13
        • 2016-09-28
        • 2012-07-07
        相关资源
        最近更新 更多