入力選択にselect2を使用し、multipleをtrueに設定しました。私の場合は、javascript関数を使用して複数の選択された値からテキスト配列を取得しようとしました。javascriptを使用してselect2入力の複数の選択値からテキストを取得する方法
これは私の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]">
私は1つの値を選択しようとするのであれば、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
誰もが私の問題を解決する方法を私を助けることができますか?あなただけの唯一の配列の第一[0]
を選択しているように私が見ることができるものから、あなた
はい、それは働いている:ここで
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/mapが実際の例である:ここについて
map
機能をお読みください。ありがとうございました :) – Putra