2011-05-25 107 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(); 
});