javascript - 如何使用javascript从select2输入的多个选定值中获取文本

标签 javascript html jquery-select2

我使用 select2 作为输入选择并设置 multiple 为 true。就我而言,我尝试使用 javascript 函数从多个选定值中获取文本数组。

这是我的 javascript 和 html 输入:

<script type="text/javascript">
   function getRoles(val) {
         $('#role-cm_role_text').val('');
         var data = $('#role-cm_role').select2('data')[0].text;
         $('#role-cm_role_text').val(data);
         $('#role-cm_role').on('select2:unselecting', function (e) {
            $('#role-cm_role_text').val('');
        });
    }
</script>

<select id="role-cm_role" class="form-control" name="Role[CM_ROLE][]" multiple size="4" onchange="getRoles(this.value)" style="display:none">
<option value="INQUIRY">CM Inquiry</option>
<option value="SUPERVISOR">CM Supervisor</option>

<input type="hidden" id="role-cm_role_text" class="form-control" name="Role[CM_ROLE_TEXT]">

因此,如果我尝试选择一个值,CM_ROLE_TEXT 的结果与 CM_ROLE 相同。但如果我尝试选择多个值,CM_ROLE_TEXT 的结果只是获得 CM_ROLE 的第一个值。

尝试选择多个值的结果:

[CM_ROLE] => Array
        (
            [0] => INQUIRY
            [1] => SUPERVISOR
        )

[CM_ROLE_TEXT] => CM Inquiry // I need the result of CM_ROLE_TEXT is same with the result of CM_ROLE

谁能帮我解决我的问题?谢谢

最佳答案

据我所知,问题出在这一行

var data = $('#role-cm_role').select2('data')[0].text;

因为您仅选择了数组中的第一个 [0]。所以这确实是预期的行为。因此,要获取数组中的所有结果文本,您也许可以这样做

var data = $('#role-cm_role').select2('data').map(function(elem){ 
                return elem.text 
           });

然后您将获得一个包含所有选定字符串的数组。在此处阅读有关 map 函数的信息:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map

这是一个实例:https://jsbin.com/qujocujuko/edit?html,js,output

关于javascript - 如何使用javascript从select2输入的多个选定值中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42558418/

相关文章:

javascript - 如何将 JQuery AJAX 函数转换为 vue.js

javascript - Select2 使用 tags = true 自动选择第一个选项

javascript - 取消选中复选框时删除 li 元素

javascript - IIFE 可链接未正确返回

javascript - 火狐插件 : how to debug simple-storage using addon builder

javascript - 实时数据更新(车辆跟踪)

javascript - 使用 javascript 动态聚焦于某个元素

javascript - 如何使用 javascript 和 HTML DOM 更新 HTML 元素的颜色?

jquery - Kartik Select2 在附加 jquery 后不起作用

javascript - Select2 在网站上无法正常工作