2011-05-25 52 views
1

我想要做的,我有一個下拉框,讓我的管理員用戶評分圖片G評分和X評分。一旦他們選擇了這個選項,我想要提交表格。jquery on live(點擊)提交表格

我認爲這和發送表單ID一樣簡單,但似乎不是。

這是用戶在表單中唯一需要做的事情。

HTML表單看起來像這樣

<form id="photo1"> 
<input id="1" name="pictureid" hidden /> 
<select name="phototype"> 
<option value="G">G Rated</option> 
<option value="X">X Rated</option> 
</select> 
</form> 

回答

2

如果你想提交表單當onchange事件被觸發,這是代碼:

$('#photo1 select').change(function() { 
     $("#photo1").submit(); 
    }); 
+1

+1,我會還要補充說,表單需要一個動作和一個方法而不僅僅是一個Id。 – Milimetric 2011-05-25 15:20:33

0
$('#photo1 select').change(function() { 
    $('#photo1').submit(); 

    return true; 
}); 
0

這應該是足夠的

$('select[name="phototype"]').change(function(){ 
    this.form.submit(); 
}); 

它發現th e相對形式,所以它也可以適用於多種形式。


或者,如果你想這跟.live()由於裝載形式動態,然後用

$('select[name="phototype"]').live('change',function(){ 
    this.form.submit(); 
}); 
0

與您的代碼的問題目前是你的用戶不能選擇「G級」,因爲它是默認選中的。您應該添加一個空白選項。你可能還需要一個值,你的隱藏元素:

<form id="photo1"> 
    <input id="1" name="pictureid" value="1" hidden /> 
    <select name="phototype" id="phototype"> 
     <option value=""></option> 
     <option value="G">G Rated</option> 
     <option value="X">X Rated</option> 
    </select> 
</form> 

然後,您可以使用下面的jQuery:

$('#phototype').change(function() { 
    if (this.value) { 
     $(this).closest('form').submit(); 
    } 
}); 

jsFiddle

0

working demo

$('select').change(function(){ 
    $(this).closest('form').submit(); 
}); 

$('select').live('change',function(){ 
    $(this).closest('form').submit(); 
});