2012-06-06 18 views
6

द्वारा बदला गया है, मैं jQuery का उपयोग करके प्रोग्रामेटिक रूप से चुने गए विकल्प को अद्यतन कर रहा हूं, लेकिन ब्राउज़र में कुछ भी नहीं बदलता है। (यानी, पुराने चुने गए विकल्प को नए चुने हुए विकल्प पर स्विच करने के बजाय चुना गया है।) सुझाव?चयनित विकल्प के बाद रीफ्रेशिंग चयन jQuery

धन्यवाद।

--Jeff मैं इस तरह एक सरल रूप है:

<form id="form1" name="form1" method="" action=""> 
<p>Assign: 
<select name="assigner" id="assigner"> 
<option value="Sam" selected="selected">Sam</option> 
    <option value="Harry">Harry</option> 
    <option value="Fred">Fred</option> 
</select> 
<input type="button" name="button1" id="button1" value="Submit" /> 
</p> 
<p> Task A: <select name="assignment[]" id="assigner"> 
    <option value="Sam">Sam</option> 
    <option value="Harry" selected="selected">Harry</option> 
    <option value="Fred">Fred</option> 
</select> 
</p> 
<p>  
Task B: <select name="assignment[]" id="assigner"> 
    <option value="Sam">Sam</option> 
    <option value="Harry" selected="selected">Harry</option> 
    <option value="Fred">Fred</option> 
</select> 
</p> 
</form></div> 

और मेरे jQuery कोड इस तरह दिखता है:

<script type="text/javascript"> 
jQuery(document).ready(function(){ 
$('[name="button1"]').click(
    function(){ 
     var form = $(this).parents('form'); 
     var assigned = form.find(':selected').first().val(); 
     form.find(':selected').each(function(index){ 
      $(this).val(assigned).change(); 
     }); 
    } 
); 
}); 
</script> 
+1

आईडी अद्वितीय होना चाहिए। – j08691

+0

आप सही हैं। धन्यवाद। – jalperin

उत्तर

4

मैं चयनित विकल्प प्रोग्राम के रूप में jQuery

का उपयोग कर अद्यतन करने कर रहा हूँ

जहां तक ​​मैं देख सकता हूं। आप चयनित option के मान को फिर से सेट कर रहे हैं, लेकिन जहां तक ​​मैं वास्तविक select बॉक्स को बता सकता हूं, कुछ भी नहीं कर रहा हूं।

एक select बॉक्स को बदलने के लिए, आप इसे पहचान करने की जरूरत है, तो इसकी option तत्वों में से एक यह पर val कहते हैं, नहीं।

मैं यह नहीं कर सकता कि आप अपना input[name="button1"] क्या करना चाहते हैं, लेकिन यहां select बॉक्स अपडेट करने का एक उदाहरण है: Live copy | source

HTML:

<select id="theSelect"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 
<input type="button" id="theButton" value="Click me"> 

जावास्क्रिप्ट:

jQuery(function($) { 

    $("#theButton").click(function() { 
    $("#theSelect").val("2"); 
    }); 

}); 

अलग से, के रूप में j08691 टिप्पणी में कहा, आप और अधिक करने के लिए एक ही id मूल्य ("assigner") असाइन नहीं कर सकते एक तत्व से अधिक। दस्तावेज़ में id values must be unique। आपका कोड आपको id का उपयोग करके नहीं दिखाता है, इसलिए यह असंबद्ध हो सकता है, लेकिन यह फ़्लैगिंग के लायक है।

+0

मेरा फॉर्म डेटाबेस क्वेरी से उत्पन्न होता है, इसलिए मुझे जरूरी नहीं कि चयन बॉक्स के आईडी (या यहां तक ​​कि फॉर्म में कितने दिखाई देंगे)। इसके अलावा, प्रत्येक पृष्ठ पर कई रूप (सभी समान रूप से संरचित) हैं। मैं जो करने की कोशिश कर रहा हूं वह है कि उपयोगकर्ता को पहले चयन बॉक्स से चयनित विकल्प के साथ एक फॉर्म पर सभी चयन बॉक्स अपडेट करने दें। इसलिए, उपयोगकर्ता हैरी को पहले चयन बॉक्स में सबमिट करके सबमिट करके सभी कार्यों को हैरी सबमिट करता है। मुझे लगता है कि मुझे वास्तव में क्या चाहिए, सभी चयन बॉक्स का चयन करने का एक तरीका है जो क्लिक किए गए बटन के समान रूप में दिखाई देता है। – jalperin

+0

@jalperin: * "मुझे वास्तव में क्या चाहिए, मुझे लगता है कि, सभी चयन बॉक्स का चयन करने का एक तरीका है जो क्लिक किए गए बटन के समान रूप में दिखाई देता है।" * '$ (यह) .closest ('form') .find ('select') 'बटन पर एक ईवेंट हैंडलर के भीतर से ऐसा करेगा। '$ (यह) 'एक jQuery ऑब्जेक्ट में बटन लपेटता है। 'निकटतम (' फॉर्म ')' पदानुक्रम में निकटतम 'फॉर्म' तत्व के लिए एक jQuery ऑब्जेक्ट देता है। फिर 'ढूंढें (' चयन करें ') उस फ़ॉर्म के भीतर सभी' चयन 'तत्व पाता है। –

1
<form id="form1" name="form1" method="" action=""> 
    <p>Assign: 
     <select name="assigner" id="assigner"> 
      <option value="Sam" selected="selected">Sam</option> 
      <option value="Harry">Harry</option> 
      <option value="Fred">Fred</option> 
     </select> 
     <input type="button" name="button1" id="button1" value="Submit" /> 
    </p> 
    <p> 
     Task A: <select name="assignment[]" id="assigner2"> 
      <option value="Sam">Sam</option> 
      <option value="Harry" selected="selected">Harry</option> 
      <option value="Fred">Fred</option> 
     </select> 
    </p> 
    <p>  
     Task B: <select name="assignment[]" id="assigner3"> 
      <option value="Sam">Sam</option> 
      <option value="Harry" selected="selected">Harry</option> 
      <option value="Fred">Fred</option> 
     </select> 
    </p> 
</form> 



<script type="text/javascript"> 
jQuery(document).ready(function(){ 
$('[name="button1"]').click(
    function(){ 
     var assigned = $("#assigner").val(); 
     $('#form1 select').val(assigned); 
    } 
); 
}); 
</script> 
संबंधित मुद्दे