选择2 已将复制选项选中到禁用字段

Select2 Issue copying option selected to a disabled field

本文关键字:字段 选项 复制 选择      更新时间:2023-09-26

我正在尝试将所选值从 select2 组件复制到另一个被禁用的组件。我能够从两个隐藏的选择中传输值(select2 实际上隐藏了常规选择并创建了一个新的 html 结构),但我无法将文本复制到范围。我有一个jsfiddle来说明我的问题:http://jsfiddle.net/vktyaLmp/。

这是将值从一个 select2 组件复制到另一个组件的正确方法吗?有内置方法吗?

这是我的代码:

$("#originSelect, #targetSelect").select2({
    allowClear: true,
    minimumInputLength: 1
});
if ($('#originSelect').val() != 0) {
   $('#select2-chosen-2').text(   $('#originSelect').val()   );
}

Select2 为您提供了直接获取/设置值的内置函数。你可以用下面的代码替换你的javascript:

$("#originSelect, #targetSelect").select2({
    allowClear: true,
    minimumInputLength: 1
});
$("#originSelect").change(function(e) {
    if ($('#originSelect').val() != 0) {
        $('#targetSelect').select2('val', $('#originSelect').select2('val'));
    }
});

(我刚刚在你的小提琴上测试过)

您没有捕获原始选择的更改事件,您需要这样做

    $('#originSelect').change(function(){

   $('#targetSelect').select2('val', $('#originSelect').select2("val").toString());
   });