/ / jquery के लिए आवश्यक कई ड्रॉप डाउन में से कोई भी - jquery, चयन करें

jquery कई ड्रॉप डाउन की आवश्यकता है - jquery, चयन करें

लंबे समय तक सीखने वाले, पहली बार पूछने वाले ...

परिदृश्य: मेरे पास एक फॉर्म है जो कॉलम 1 पर तारीखों के साथ तारीख की तालिका प्रदर्शित करता है और कॉलम 2 में कारणों की एक बूंद है। कॉलम 2 में एक कारण का चयन होने पर ही फॉर्म जमा किया जा सकता है। हालांकि, सभी पंक्तियों को एक कारण की आवश्यकता नहीं होती है। यही है, आप तीन तिथियों के साथ एक फॉर्म जमा कर सकते हैं यदि केवल तीसरी तारीख एक कारण सूचीबद्ध करती है। खाली मेनू आइटम को POST पर उचित रूप से संसाधित किया जाता है।

सबमिट बटन स्थिति के आधार पर स्विच कर रहा हैदो सत्यापन जांच चिह्न (हम मान के रूप में # फोन और ईमेल पास करते हैं और उपयोगकर्ता पुष्टि करने के लिए एक विधि का चयन करता है)। मेरे पास select.val जोड़ा गया है जो कि इच्छित के रूप में काम करता है, लेकिन केवल पहले चयन पर। यदि मैं केवल दूसरा चयन करता हूं, तो बटन अक्षम रहता है।

$("#phone, #email").click(function(){

if($("#phone, #email").is(":checked") && $("select").val() != "")
{
enableSubmit();
} else {
disableSubmit();
}

$(this).next("#phone, #email");

});

उदाहरण मार्कअप:

<select id="reason1">
<option value=""></option> <!--This defaults the field to an empty label-->
<option value="reason_a">Reason A</option>
<option value="reason_b">Reason B</option>
<option value="reason_c">Reason C</option>
</select>

<select id="reason2">
<option value=""></option> <!--This defaults the field to an empty label-->
<option value="reason_a">Reason A</option>
<option value="reason_b">Reason B</option>
<option value="reason_c">Reason C</option>
</select>

<select id="reason3">
<option value=""></option> <!--This defaults the field to an empty label-->
<option value="reason_a">Reason A</option>
<option value="reason_b">Reason B</option>
<option value="reason_c">Reason C</option>
</select>

संपादित करें

अनुरोध के अनुसार: http://jsfiddle.net/paladyn84/6dXmD/4/

उत्तर:

उत्तर № 1 के लिए 1

इसे इस्तेमाल करे if:

if($("#phone, #email").is(":checked") && $("select").filter(function(){
return $(this).find(":selected").val()
}).length)

यह जांच करेगा कि किसी भी ड्रॉपडाउन का कोई मूल्य है या नहीं।

यहाँ एक छोटी सी बेला है: http://jsfiddle.net/e7wSK/1

वैसे, इसके बजाय:

 $("#phone, #email").click(function(){})

आपको परिवर्तन का उपयोग करना चाहिए:

 $("#phone, #email, select").change(function(){