64

如何从选定的多选框中获取选定的值?

4

9 回答 9

95
$("#select-id").chosen().val()
于 2013-01-23T21:02:16.690 回答
69

就像从任何常规输入/选择/等...:

$("form.my-form .chosen-select").val()
于 2012-05-09T17:55:32.713 回答
18

这对我有用

$(".chzn-select").chosen({

     disable_search_threshold: 10

}).change(function(event){

     if(event.target == this){
        alert($(this).val());
     }

});
于 2013-04-25T13:42:22.310 回答
12
$("#select-id").chosen().val()

这是正确的答案,我试过了,传递的值是用“,”分隔的值

于 2014-03-15T15:53:26.433 回答
8

如果有人只想在单击选项时获得选定的值,他可以执行以下操作:

$('.chosen-select').on('change', function(evt, params) {
    var selectedValue = params.selected;
    console.log(selectedValue);
});
于 2016-07-11T06:59:43.807 回答
6

截至 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
}

Chosen 文档中,在页面底部附近关于触发事件的部分中,它显示“Chosen 在原始选择字段上触发了许多标准和自定义事件”。这些标准事件之一是更改事件,因此您可以像使用标准选择输入一样使用它。如果你不想的话,你不必乱用 Chosen 的应用类作为选择器。(对于change事件,就是这样。其他事件往往是另一回事。)

于 2016-07-17T04:51:33.223 回答
3

如果您想获取选定选项的文本(选择获取显示选定值)

 $("#select-id").chosen().find("option:selected" ).text();
于 2018-01-30T19:46:13.657 回答
2

这个解决方案对我有用

var ar = [];
$('#id option:selected').each(function(index,valor){
    ar.push(valor.value);
});
console.log(ar);

确保您的<option>标签具有相应的value属性。希望能帮助到你。

于 2018-06-27T21:57:29.810 回答
0

我相信在按 ID 定位时会出现问题,因为 Chosen 会将原始 ID 复制select到新创建div的 ID 上,从而在当前页面上留下 2 个具有相同(现在不是唯一)ID 的元素。

当以 ID 选择为目标时,请使用特定于 的选择器select

$( 'select#yourID' ).on( 'change', function() {
    console.log( $( this ).val() );
} );

...代替...

$( '#yourID' ).on( 'change', function() {
    console.log( $( this ).val() );
} );

这是因为 Chosen 将其选定项目镜像回原始(现在隐藏)select元素,即使在多模式下也是如此。

(无论有没有选择,它也可以继续工作,比如说......如果您决定在您的应用程序中采用不同的方向。)

于 2019-02-20T15:56:03.020 回答