多选onchange事件jquery

新手上路,请多包涵

我正在创建一个表格。我有两个字段,1. 默认值字段和 2. 预览字段。两者都是多选字段。用户将手动将选项添加到多选。每当用户在默认值中选择一个选项时,应在预览字段中显示与所选相同的值。当用户删除一个选项时,应该取消选择相同的选项。这就是我为这个多选事件编写 onchange 事件的方式:

 $("#MultiSelect_DefaultValues").change(function() {
          alert($(this).val());
          $("#MultiSelect_Preview").val($(this).val());
        });

我在警报中得到了正确的值。但是,在预览区,没有任何反应。默认值字段中可用的所有选项在预览字段中也可用。但是,在默认值字段中选择的选项在预览字段中未被选中。这有什么问题吗?我应该更改什么,以便默认字段中的更改也反映在预览字段中?

原文由 SSS 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 518
2 个回答

你说你正在使用 select2 所以像这样执行:

 $("#MultiSelect_DefaultValues").change(function () {
   alert($(this).val());
   var prevSelect = $("#MultiSelect_Preview").select2();
   prevSelect.val($(this).val()).trigger('change');
});

原文由 Qsprec 发布,翻译遵循 CC BY-SA 3.0 许可协议

只是它

 $('#cars').val([1,3]);
//or $('#cars').selectpicker('val', [1,2,3]);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select name="cars" id="cars" multiple>
    <option value="1">Volvo</option>
    <option value="2">Saab</option>
    <option value="3">Opel</option>
    <option value="4">Audi</option>
  </select>

原文由 ihsan güç 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏