2013-08-26 13 views
5

के साथ चयन करता है मैं Chosen और Chained के साथ चेन का चयन करने की कोशिश कर रहा हूं लेकिन मुझे यकीन नहीं है कि मैं कार्यान्वित कर रहा हूं .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"); 
}); 

जो मुझे Uncaught RangeError देता है: अधिकतम कॉल स्टैक आकार से अधिक हो

संपादित करें: यदि कोई विशेष विकल्प चुना जाता है तो मुझे अब भी एक और फ़ील्ड छिपाने/दिखाने की आवश्यकता है और मुझे यकीन नहीं है कि इसके लिए सही दृष्टिकोण क्या है।

+0

यह SO http://stackoverflow.com/questions/18441118/retrieve-values-from- गतिशील-added-selects-using-jquery-in-php –

+0

पर एक उदाहरण है, जिसे मैं चुना नहीं देख रहा हूं उदाहरण। – Tyssen

उत्तर

7

श्रृंखलाबद्ध दस्तावेज़ीकरण से उदाहरण का उपयोग करके मैंने example on jsfiddle रखा है।

और यह वास्तव में काफी सरल है, बस जंजीर और चुना प्रारंभ कर रहा है के रूप में आप आमतौर पर करते हैं, और फिर 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'); 
}); 

संपादित करें:

आपके दूसरे प्रश्न के लिए मैंने थोड़ा सा पहेली अपडेट किया है: http://jsfiddle.net/koenpunt/Fzh9G/2/

चुना गया है कि परिवर्तन ईवेंट के साथ कौन सा विकल्प चुना गया है, इसलिए जांच करें कि कोई विशिष्ट ऑप्टियो n चयन किया जाता है आसान है:

$('#series').on('change', function(event, data){ 
    // First check if data exists, because if the change event 
    // isn't triggered by Chosen `data` is undefined 
    if(data){ 
     if(data.selected == 'a5'){ 
      $('#submit').hide(); 
     }else{ 
      $('#submit').show(); 
     } 
    } 
}); 

आप देखेंगे के रूप में, यदि आप 'ऑडी' और 'ए 5' का चयन करें बटन गायब हो जाएगा।

+0

बहुत बढ़िया, धन्यवाद। :) – Tyssen