2012-06-08 5 views
11

का उपयोग कर चयन करें बॉक्स में/अक्षम विकल्प सक्षम मैं जो विकल्प और optgroup उत्पन्न गतिशील php.Now का उपयोग कर रहे होते हैं जब मैं "सभी" सभी का चयन करें अन्य optgroup, विकल्प अक्षम किया जाना चाहिए और एक का चयन करें बॉक्स की क्या ज़रूरत है जब मैं "ऑल" के अलावा कोई अन्य विकल्प चुनता हूं तो "ऑल" विकल्प अक्षम होना चाहिएमैं कैसे jQuery

<select name="select1" id ="select1" onchange="handleSelect()"> 
    <option value ="-1">ALL</option> 
    <optgroup label="CARS"> 
     <option value="ford">FORD</option> 
     <option value="Nissan">Nissan</option> 
    </optgroup> 
</select> 
<script> 
    function handleSelect() { 
     var selectVal = $("#select1:selected").text(); 
     if (selectVal == "ALL") { 
      // cannot disable all the options in select box 
      $("#select1 option").attr("disabled", "disabled"); 
     } 
     else { 
      $("#select1 option[value='-1']").attr('disabled', 'disabled'); 
      $("#select1 option").attr('disabled', ''); 
     } 
    } 
</script> 

मैं यह कैसे काम कर सकता हूं?

+1

आप कैसे चुन सकते हैं * "ऑल" के अलावा अन्य विकल्प * यदि आपने "ऑल" (और इसके विपरीत) चुना है तो सभी विकल्प अक्षम हैं? – VisioN

उत्तर

20

यह कर रही करने के लिए एक अजीब बात की तरह है, लेकिन यहाँ कोड को पूरा करती है कि आपके आवश्यकताओं।

$('select').on('change', function() { 
    if (this.value == '-1') { 
     $('optgroup option').prop('disabled', true); 
    } else { 
     $('optgroup option').prop('disabled', false); 
    } 
}); 

लाइव उदाहरण - http://jsfiddle.net/NpNFh/

0

आप, विकलांग विशेषता के लिए वाक्य रचना पर दो रूपों का उपयोग कर सकते HTML के संस्करण आप लक्षित कर रहे हैं पर निर्भर करता:

HTML4: <option value="spider" disabled>Spider</option> 
XHTML: <option value="spider" disabled="disabled">Spider</option> 
8

आप निम्न code.Let उपयोग कर सकते हैं हमें विचार करना के रूप में

<select class="sel_box" id="sel_1" onchange="disable_sel(this.value);" ></select> 
<select class="sel_box" id="sel_2" onchange="disable_sel(this.value);" ></select> 
<select class="sel_box" id="sel_3" onchange="disable_sel(this.value);" ></select> 

इस प्रकार आप तीन का चयन बक्से हैं और समारोह में जाने से 'ऑप्ट' तर्क है अब

$('.sel_box option[value="'+opt+'"]').attr("disabled", true);