如何从所选的多选框中获取所选值?
答案 0 :(得分:83)
$("#select-id").chosen().val()
答案 1 :(得分:66)
喜欢任何常规输入/选择/等......:
$("form.my-form .chosen-select").val()
答案 2 :(得分:15)
这对我有用
$(".chzn-select").chosen({
disable_search_threshold: 10
}).change(function(event){
if(event.target == this){
alert($(this).val());
}
});
答案 3 :(得分:11)
$("#select-id").chosen().val()
这是正确的答案,我试过,传递的值是由","
分隔的值答案 4 :(得分:6)
如果有人想在点击选项时只获得所选值,他可以执行以下操作:
$('.chosen-select').on('change', function(evt, params) {
var selectedValue = params.selected;
console.log(selectedValue);
});
答案 5 :(得分:5)
截至2016年,您可以比已经给出的任何答案更简单地完成此任务:
$('#myChosenBox').val();
其中“myChosenBox”是原始选择输入的id。或者,在更改事件中:
$('#myChosenBox').on('change', function(e, params) {
alert(e.target.value); // OR
alert(this.value); // OR
alert(params.selected); // also in Panagiotis Kousaris' answer
}
在the Chosen doc中,在触摸事件的页面底部附近的部分中,它显示“选择会在原始选择字段上触发许多标准和自定义事件。”其中一个标准事件是更改事件,因此您可以使用与标准选择输入相同的方式使用它。如果你不愿意,你不必乱用使用Chosen的应用类作为选择器。 (对于change
事件,即。其他事件通常是另一回事。)
答案 6 :(得分:1)
如果您想获取所选选项的文本 (选择获取显示选择的值)
$("#select-id").chosen().find("option:selected" ).text();
答案 7 :(得分:0)
此解决方案对我有用
var ar = [];
$('#id option:selected').each(function(index,valor){
ar.push(valor.value);
});
console.log(ar);
请确保将<option>
标签与它们的对应value
属性相对应。
希望对您有所帮助。
答案 8 :(得分:0)
我认为在按ID定位时会出现问题,因为选择将ID从原始select
复制到新创建的div
上,剩下两个相同的元素(现在不唯一) )当前页面上的ID。
按ID定位时,请使用特定于select
的选择器:
$( 'select#yourID' ).on( 'change', function() {
console.log( $( this ).val() );
} );
...而不是...
$( '#yourID' ).on( 'change', function() {
console.log( $( this ).val() );
} );
之所以可行,是因为即使在多模式下,“选择的”也会将其选择的项目镜像回原始的select
元素。
(无论是否选择“ Chosen”,它也可以继续工作,例如...如果您决定在应用程序中朝其他方向发展。)