现场jquery(点击)提交表格

时间:2011-05-25 15:13:08

标签: jquery html click submit live

我想要做什么,我有一个下拉框,让我的管理员用户评价图片G等级和X等级。一旦他们选择了这个选项,我希望提交表格。

我认为这就像发送表单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>

5 个答案:

答案 0 :(得分:2)

如果要在触发onchange事件时提交表单,则为以下代码:

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

答案 1 :(得分:0)

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

    return true;
});

答案 2 :(得分:0)

这应该足够了

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

它会自动找到相对形式,因此它也可以应用于多种形式。


或者如果由于动态加载表单而需要.live(),那么请使用

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

答案 3 :(得分: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

答案 4 :(得分:0)

working demo

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

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