2010-09-29 15 views
20

मेरे पास यह HTML है:jquery: ड्रॉपडाउन से मूल्य का चयन करने के बाद फ़ॉर्म सबमिट करें

 <form action="/awe/ChangeTheme/Change" method="post"> 

    <select id="themes" name="themes"> 
    ... 
    <option value="blitzer">blitzer</option> 
    </select> 

    <input type="submit" value="change" /> 

    </form> 

कोई भी जानता है कि 'थीम' ड्रॉपडाउन में कोई मान चुने जाने पर इसे कैसे सबमिट किया जाए?

उत्तर

60

अन्य समाधान पृष्ठ पर सभी फॉर्म जमा होगा, अगर कोई होना चाहिए। बेहतर होगा:

$(function() { 
    $('#themes').change(function() { 
     this.form.submit(); 
    }); 
}); 
+1

यदि आपके पास एकाधिक रूप हैं तो यह बेहतर होगा यदि आप तीसरे पंक्ति को $ (this) .parent ('form') से सबमिट करते हैं। सबमिट(); –

+8

@PeterdeRidder 'this.form' पहले से ही ऐसा करता है, क्योंकि' $ (यह)। माता-पिता ('फॉर्म') 'केवल तभी काम करता है जब फॉर्म चयन का प्रत्यक्ष अभिभावक होता है, जो अक्सर नहीं होता है। – RoToRa

1
$(function() { 
    $('#themes').change(function() { 
     $('form').submit(); 
    }); 
}); 
+1

यह समाधान पृष्ठ पर सभी फॉर्म जमा होगा ... – bato3

3
$('#themes').change(function(){ 
    $('form').submit(); 
}); 
+0

यह समाधान पृष्ठ पर सभी फॉर्म जमा होगा शामिल .. – bato3

2

मैं पूरे अक्षरों में लिखावट बाँध विधि का उपयोग कर, क्योंकि यह आशुलिपि अन्य उत्तर द्वारा आपूर्ति जैसा ही होता है की सलाह देते हैं, लेकिन आप अतिरिक्त घटनाओं को जोड़ सकते हैं यदि आवश्यकता अपने कोड को बदलने के लिए बिना किया जाना है।

$("#themes").bind("change", function() { 
    $("form").trigger("submit"); 
}); 
+0

यह समाधान पृष्ठ पर सभी रूपों को सबमिट करेगा ... – bato3

4

मामले में अपने html एक से अधिक फार्म

$(function() { 
    $('#themes').on('change', function(e) { 
    $(this).closest('form') 
      .trigger('submit') 
    }) 
}) 
संबंधित मुद्दे