2010-09-29 20 views
20

html:jquery: açılır listeden bir değer seçildikten sonra formu gönder

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

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

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

    </form> 

formunda bu formu kullanıyorum. Herkes 'temalar' açılır menüsünde bir değer seçildiğinde nasıl gönderileceğini bilen var mı?

cevap

60

diğer çözümler, sayfadaki tüm formları sunacaktır. Daha iyi olurdu:

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

Eğer üçüncü satırı değiştirirseniz, birden fazla formunuz varsa daha iyi olurdu: $ (this) .parent ('form'). Submit(); –

+8

@PeterdeRidder 'this.form' zaten bunu ve daha fazlasını yapar, çünkü' $ (this) .parent ('form') 'sadece, formun genellikle seçmediği doğrudan seçmense işe yarar. – RoToRa

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

Bu çözümler – bato3

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

Bu çözümler sayfadaki tüm formları sunacaktır ... sayfadaki tüm formları sunacaktır birden fazla form içeren .. – bato3

2

Ben diğer cevaplar tarafından sağlanan kısaltma olarak aynı etkiye sahiptir, çünkü sembolüne bağlama yöntemi kullanmanız önerilir, ancak kodunu değiştirmek zorunda kalmadan gerekirse ek etkinlik ekleyebilir. Herhangi olmalı eğer

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

Bu çözümler, sayfadaki tüm formları gönderecektir ... – bato3

4

durumda html

$(function() { 
    $('#themes').on('change', function(e) { 
    $(this).closest('form') 
      .trigger('submit') 
    }) 
}) 
İlgili konular