【问题标题】:Preselecting option in multiselect using val()使用 val() 在多选中预选选项
【发布时间】:2012-07-24 18:07:12
【问题描述】:

如何使用 jquery 的 val() 在多选 html 标记中预先选择一个选项?

我的意思是说你有一个多选组件并且你想要一些值被预选?

【问题讨论】:

    标签: jquery


    【解决方案1】:

    假设我正确理解了您的问题,您可以将一组值传递给 .val() 方法:

    $("#yourSelect").val(["value1", "value2"]);
    

    这是working example

    【讨论】:

    • @imparator - 遍历选定的 option 元素集并在要取消选择的元素上调用 .prop("selected", false)。或者再次调用.val() 并传入你想要选择的值。
    • Blazemonger - 这将取消选择所有值...我说的是取消选择特定值
    • @james:请看一下这个小提琴:jsfiddle.net/imparator/XPGa8/1 我在取消选择时遇到了一些麻烦。这是问题的描述:stackoverflow.com/questions/11638051/…
    • 我如何用 javascript 做同样的事情
    【解决方案2】:

    你可以这样做:

    HTML:

    <select multiple="multiple">
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="mercedes">Mercedes</option>
      <option value="audi">Audi</option>
    </select>​
    

    jQuery:

    $("select").val(["volvo", "mercedes"]).prop("selected", true);
    

    这是一个例子:http://jsfiddle.net/HCm3e/

    【讨论】:

    • 您不需要prop 电话。这没有任何意义,因为它将设置select 元素(不是option 元素)的selected 属性。
    • @JamesAllardice,该死的,你是对的!感谢您指出这一点:)
    • @scumah - 在你的小提琴中, ("selected", false) 不会取消选择。知道为什么会这样吗?
    猜你喜欢
    • 2011-07-10
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    相关资源
    最近更新 更多