2013-08-26 12 views
5

ChosenChainedでチェーンを選択しようとしていますが、.chosen()。change()を正しく実装しているかどうかわかりません。Chosenを選択して選択します

<select id="Inputfield_date" name="date" data-placeholder="Select event date"> 
<option value=""></option> 
<option value="WA">WA</option> 
<option value="QLD">QLD</option> 
<option value="VIC">VIC</option> 
<option value="NSW">NSW</option> 
<option value="SA">SA</option> 
</select> 

<select id="Inputfield_code" name="code" data-placeholder="Response code"> 
<option value=""></option> 
<option value="601" class="WA">601</option> 
<option value="602" class="WA">602</option> 
<option value="402" class="QLD">402</option> 
<option value="403" class="QLD">403</option> 
<option value="301" class="VIC">301</option> 
<option value="302" class="VIC">302</option> 
<option value="201" class="NSW">201</option> 
<option value="203" class="NSW">203</option> 
<option value="501" class="SA">501</option> 
</select> 

$('#Inputfield_date').chosen().change(function() { 
    $("#Inputfield_code").chained("#Inputfield_date"); 
}); 

くれ捕捉されない例外RangeErrorを与える:最大コールスタックサイズはを超えてここ

は、私が持っているものです。

編集:特定のオプションが選択されている場合は、別のフィールドを非表示にする必要がありますが、そのための正しいアプローチがわかりません。

+0

これはSOの例です。http://stackoverflow.com/questions/18441118/retrieve-values-from-dynamically-added-selects-using-jquery-in-php –

+0

私はそれに使用されたChosenを見ていません例。 – Tyssen

答えて

7

私はexample on jsfiddleを入れました。

そして、それは単に選択の変化の1つがchosen:updatedイベントをトリガし、その後、あなたが通常行うように連鎖し、選択された初期化、および、実際に非常に簡単です:

var selects = $('#Inputfield_code, #Inputfield_date'); 
$('#Inputfield_code').chained('#Inputfield_date'); 
selects.chosen({width: '300px'}) 

selects.on('change', function(){ 
    selects.trigger('chosen:updated'); 
}); 

EDIT:

をあなたの2番目の質問については、私はちょっとフィドルを更新しました:http://jsfiddle.net/koenpunt/Fzh9G/2/

選択されたオプションは、変更イベントとともに選択されるので、特定のoptio

「Audi」と「A5」を選択すると、ボタンが消えます。

+0

素晴らしい、ありがとう。 :) – Tyssen

関連する問題