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 に答える
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 docの、ページの下部にあるイベントのトリガーに関するセクションに、「Chosen は、元の選択フィールドで多数の標準およびカスタム イベントをトリガーします」と記載されています。これらの標準イベントの 1 つが change イベントであるため、標準の選択入力と同じように使用できます。選択したくない場合は、Chosen の適用されたクラスをセレクターとして使用する必要はありません。(changeつまり、イベントの場合。他のイベントはしばしば別の問題です。)

于 2016-07-17T04:51:33.223 に答える
0

Chosen は ID を元の ID からselect新しく作成された ID にコピーdivし、現在のページに同じ (現在は一意ではない) ID の 2 つの要素を残すため、ID でターゲティングするときに問題が発生すると思います。

ID で選択されたものをターゲットにする場合は、次のものに固有のセレクターを使用しますselect

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

...それ以外の...

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

selectマルチモードであっても、Chosen は選択した項目を元の (現在は非表示の) 要素にミラーリングするため、これが機能します。

(また、Chosen の有無にかかわらず動作し続けます。たとえば、アプリケーションで別の方向に進むことにした場合)。

于 2019-02-20T15:56:03.020 に答える