【问题标题】:Chosen select box with multiple selected values on page load在页面加载时选择具有多个选定值的选择框
【发布时间】:2013-10-22 13:59:54
【问题描述】:

我试图在页面加载时选择多个值,但它只选择数组中的最后一个值。看代码

jQuery("#language").chosen();
var str = '12,24,36';
var languageArray = str.split(',');
 for (var i = 0; i < languageArray.length; i++) {
     jQuery("#language").val(languageArray[i]);
     jQuery("#language").trigger("liszt:updated");
 }

我在页面加载时只选择了 36 个,js 有什么问题吗?

这里是选择的 HTML

<select name="language[]" id="language" data-placeholder="Choose Language..."  multiple="multiple">

感谢您的帮助。

谢谢

【问题讨论】:

    标签: javascript jquery select jquery-chosen


    【解决方案1】:

    您可以通过将数组传递给val() 方法,在多值选择框中选择多个选项。

    示例

    标记

    <select name="language" id="language" data-placeholder="Choose Language..."  multiple="multiple">
        <option value="en">English</option>
        <option value="fr">French</option>
        <option value="de">German</option>
    </select>
    

    JavaScript

    var str = 'en,de';
    jQuery("#language").val(str.split(','));
    

    这里有一个 jsFiddle 用于搞笑。

    【讨论】:

      【解决方案2】:

      您可以设置匹配选项元素的selected 属性。希望它会有所帮助。

      var values = ['1', '2', '4'];
      $('#languages').find('option').filter(function (idx, option) {
          if($.inArray(option.value, values) !== -1) {
              return option;
          }
      }).prop('selected', 'true');
      

      【讨论】:

        猜你喜欢
        • 2017-09-23
        • 1970-01-01
        • 1970-01-01
        • 2012-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多