从JS选择中设置多个选项

时间:2019-12-04 10:14:32

标签: javascript jquery jquery-chosen

我在多选下拉菜单中使用chosen.js。我想从JS设置multiple truefalse,但是无法设置。我该怎么办?

  

HTML:

<select name="test" id="id">
   <option value="">-- Select an option --</option>
   <option class="item" name="test" value="21" data-url="URL">A</option>
   <option class="item" name="test" value="22" data-url="URL">B</option>
   <option class="item" name="test" value="23" data-url="URL">C</option>
</select>
  

JS:

require([
  'jquery',
  'chosen'
], function($, chosen) {
  $('#id').chosen({
    width: '100%',
    multiple: true,
    //multiple: 'multiple', also tried this
    placeholder_text: "Select Options"
  });
})
  

注意:我不想直接在HTML代码中进行设置。

更新(输出):

enter image description here

1 个答案:

答案 0 :(得分:3)

不可能在选择的库本身中更改选择的类型。实例化库时,使用HTML multiple元素上的select属性进行设置。

如您所言,您不想或不能修改HTML:

  

请注意,我不想直接在HTML代码中设置它。

然后,您可以在定义选择的库之前在JS中设置multiple属性。您也可以删除第一个“选择选项”项,因为它与多项选择无关。

var $select = $('#id').attr('multiple', true);
$select.find('option:first').remove();
$select.chosen({
  width: '100%',
  placeholder_text: "Select Options"
});