2010-01-04 9 views
8

सभी "चुनें",JQuery - फार्म रीसेट - बाहर करें बॉक्स

मैं निम्नलिखित JQuery सिंटेक्स का उपयोग कर अपने सभी प्रपत्र तत्वों रीसेट कर सकते हैं:

('#myform')[0].reset(); 

मैं यह कैसे संशोधित कर सकते हैं "के रीसेट बाहर करने के लिए बॉक्स का चयन करें "मूल्य?

धन्यवाद

उत्तर

10
हर किसी के लिए

..

रीसेट समारोह '' करने के लिए (रिक्त स्ट्रिंग) सब कुछ निर्धारित नहीं करता है

यह उनकी प्रारंभिक मान पर रीसेट .. (मूल्य विशेषता में संग्रहीत, या चयनित विकल्प आदि ..)

आप तो आपको चाहिए

डिफ़ॉल्ट रीसेट सुविधाओं को बनाए रखना चाहते हैं 0
  1. प्राप्त सभी <select> तत्वों
  2. उनके वर्तमान में चयनित मान
  3. रूप रीसेट करने के रूप में आप वर्तमान में
  4. कर चयनित

उदाहरण रीसेट:

<script type="text/javascript"> 
    $(document).ready(
    function(){ 
    $("#resetbutton").click(
    function(){ 
    var values = []; 
    var selected = $("select").each(
     function(){ 
     values.push($(this).val()); 
     }); 
    this.form.reset(); 
    for (i=0;i<selected.length;i++) 
     $(selected[i]).val(values[i]); 
    }); 
    } 
); 
</script> 
6

jQuery नहीं है यही कारण है, यह देशी जावास्क्रिप्ट है। [0] वास्तविक डोम तत्व बाहर लाता है, तो यह रूप में एक ही है:

document.getElementById('myform').reset(); 

reset() है निर्मित एक ब्राउज़र कार्यान्वयन है कि पूरे फार्म रीसेट करता है। आप यहाँ सभी प्रपत्र चयनकर्ताओं देख सकते हैं

$('#myform :text').val(''); 

: http://docs.jquery.com/Selectors

0

आप एक रिक्त स्ट्रिंग पर मूल्यों की स्थापना और रीसेट करके एक नकली रीसेट कर सकते हैं आप व्यक्तिगत रूप प्रकार पुनर्स्थापित करने के लिए की जरूरत है, की तरह कुछ कोशिश डेविड के उत्तर का उपयोग करके चेकबॉक्स (या यह more complete one)। तुम भी रूप रीसेट करने से पहले प्रत्येक चयन तत्व का मान संग्रहीत करने की कोशिश और उसके बाद के बाद मान बहाल कर सकते हैं:

var myform = $('#myform'); 
var selects = $('select', myform); 

// Store each current value 
selects.each(function() { 
    $(this).data('previous', $(this).val()); 
}); 

myform[0].reset(); 

// Restore the values 
selects.each(function() { 
    $(this).val($(this).data('previous')); 
}); 
0

किसी भी कारण से, डेविड के दाएं उत्तर में मेरे Google क्रोम जेएस त्रुटि हुई। यह कहावत है:

Uncaught TypeError: वस्तु # की संपत्ति 'रीसेट' एक समारोह

नहीं है ...

  • "छिपा" विशेषताओं का देशी ब्राउज़र रीसेट बटन दो और "आईडी" सेट:

<input id="resetbutton" type="reset" style="visibility:hidden;" name="reset" value="reset" />

  • JQuery "क्लिक" आरंभ घटना तो मैं एक अलग समाधान की कोशिश करने का फैसला किया लिंक पर क्लिक करने से रीसेट बटन पर:

<a href="#" onclick="$('#resetbutton').click();">Reset</a>

संबंधित मुद्दे