私が選択した複数選択を使用しています私がやりたいことは、ユーザーが任意のオプションを選択した場合、その値が必要であり、その値に応じていくつかの機能を実行することです。
複数の選択なしで選択した場合、follを使用して選択した値を取得できます。コード
$(".selectId").chosen().change(function(){
selectedValue = $(this).find("option:selected").val();
});
しかし、複数選択で最初に選択された値を再び取得しますn再び複数選択要素で現在選択されている値を見つけることで誰かが私を助けることができますか?
選択されたドキュメント は、最後に変更された変数を取得するためのパラメーターについて言及しています。
選択すると、選択が行われるたびに標準のDOMイベントがトリガーされます(変更されたオプションを通知する選択または非選択のパラメーターも送信されます)。
したがって、最新のオプションのみを選択または選択解除する場合は、次のようにします。
$(".selectId").chosen().change(function(e, params){
// params.selected and params.deselected will now contain the values of the
// or deselected elements.
});
それ以外の場合、配列全体を操作したい場合は、以下を使用できます。
$(".selectId").chosen().change(function(e, params){
values = $(".selectId").chosen().val();
//values is an array containing all the results.
});
短い答え:
あなたはこれを行うだけです:var myValues = $('#my-select').chosen().val();
完全な例:
このようなselect-multipleがある場合:
<select id="my-select" class="chzn-select" multiple data-placeholder="Choose one or more values...">
<option value="value1">option1</option>
<option value="value2">option2</option>
<option value="value3">option3</option>
</select>
選択した値を配列で取得して、次の操作を実行できます。
// first initialize the Chosen select
$('#my-select').chosen();
// then, declare how you handle the change event
$('#my-select').chosen().change(function(){
var myValues = $('#my-select').chosen().val();
// then do stuff with the array
...
});
あなたのコードは正しい選択された値を取得します。しかし、その複数なのでループを使用する必要があります。またはmap
を使用して選択された値を取得し、それを配列にプッシュします。
これを試して
_ $(".selectId").chosen().change(function(){
var selectedValue = $.map( $(this).find("option:selected").val(), function(n){
return this.value;
});
console.log(selectedValue ); //this will print array in console.
alert(seletedValue.join(',')); //this will alert all values ,comma seperated
});
_
更新済み
コンマ区切りの値を取得している場合は、split()
を使用します
_ var values= $(".selectId").val();
$.each(values.split(',').function(i,v){
alert(v); //will alert each value
//do your stuff
}
_
選択されたドキュメント は、最後に変更された変数を取得するためのパラメーターについて言及しています。
$(".CSS Selector").chosen().change(function(e, parameters) {
// params.selected and params.deselected will now contain the values of the
// or deselected elements.
});
これを試して
$('.selectId:selected').each(function(i, selected) {
var value = $(selected).val();
var text = $(selected).text();
});