Select2 将选择的复制选项发布到禁用字段

Select2 Issue copying option selected to a disabled field

我正在尝试将所选值从 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 为您提供直接 get/set 值的内置函数。您可以将 javascript 替换为以下代码:

$("#originSelect, #targetSelect").select2({
    allowClear: true,
    minimumInputLength: 1
});

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

(我刚刚在你的 Fiddle 中测试过)

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

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


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

   });