如何解决实时单击提交表单上的jquery
| 我想做的是,我有一个下拉框,让我的管理员用户可以将图片评为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>
解决方法
如果要在触发onchange事件时提交表单,请使用以下代码:
$(\'#photo1 select\').change(function () {
$(\"#photo1\").submit();
});
,$(\'#photo1 select\').change(function() {
$(\'#photo1\').submit();
return true;
});
,这样就足够了
$(\'select[name=\"phototype\"]\').change(function(){
this.form.submit();
});
它会自动找到相对形式,因此也可以应用于多种形式。
或者,如果由于动态加载表单而需要.live()
,请使用
$(\'select[name=\"phototype\"]\').live(\'change\',function(){
this.form.submit();
});
,当前,您的代码存在的问题是您的用户无法选择“ 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
,工作演示
$(\'select\').change(function(){
$(this).closest(\'form\').submit();
});
$(\'select\').live(\'change\',function(){
$(this).closest(\'form\').submit();
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。