Min*_* Li 2 jquery jquery-select2 jquery-select2-4
使用最新的 select2 和多个选项。当用户选择任何选项时,我需要创建所选选项值和文本的数组。为了获得价值,我使用:
var id=$('#select2_dropdown').val();
Run Code Online (Sandbox Code Playgroud)
它使数组像id[]="value1", id[]="value2",等等。
现在我需要为标签之间的文本创建相同的数组<option>。在使用 jQuery 从下拉列表(选择框)获取选定文本中找到了解决方案,因此添加了以下代码:
var name=$("#select2_dropdown option:selected").text();
Run Code Online (Sandbox Code Playgroud)
虽然它非常适合单选,但尝试将它与多选一起使用只会产生一个类似的字符串name=optiontext1optiontext2(所有选定选项的字符串合并为一个)
我怎样才能让它看起来像这样:name[value1]=optiontext1, name[value2]=optiontext2?
尝试过这个但没有任何运气:
var id=$("#select2_dropdown option:selected").text();
var name[id]=$("#select2_dropdown option:selected").text();
Run Code Online (Sandbox Code Playgroud)
您可以在 select2 上执行 jQuery.each。
$("#select2_dropdown option:selected").each(function(){
var option = $(this);
var label = option.text();
var value = option.value();
});
Run Code Online (Sandbox Code Playgroud)
您可以将这些值推入一个对象,然后根据您的需要格式化数据。
$("#select2_dropdown option:selected").each(function(){
var option = $(this);
var label = option.text();
var value = option.value();
});
Run Code Online (Sandbox Code Playgroud)
$('.select2').select2({ placeholder: 'Please choose one.'});
$('#stringify').on('click',function(){
var result = { };
$('#feeling :selected').each(function() { var o = $(this); result[o.text()]=o.val() });
$('#output').text(JSON.stringify(result));
});Run Code Online (Sandbox Code Playgroud)
.select2 {
min-width:200px;
}
.output {
margin-top: 25px;
}Run Code Online (Sandbox Code Playgroud)
示例展示了如何对对象执行此操作,然后将其转换为 JSON 字符串。
| 归档时间: |
|
| 查看次数: |
4642 次 |
| 最近记录: |