我正在学习jQuery并且觉得我必须遗漏一些东西。我有一个超级简单的表格设置如下:
<form name="testform" id="testform" method="post">
<select type="select" id="searchid">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
<input type="text" id="searchtext" value="$_POST['value']">
</form>
我想在更改#searchid
时使用jQuery自动提交表单。我理解如何使用基本的JavaScript做到这一点,但我需要jQuery用于其他事情,并需要了解这些东西是如何工作的。下面的jQuery片段在我看来应该可以工作,但它不起作用。有什么想法吗?
$( "#searchid" ).change( function() {
$( "#testform" ).submit();
})
答案 0 :(得分:2)
您可以通过以下方式提交表单:
$(function() {
$( "#searchid" ).change( function() {
$( "#testform" )[0].submit();
//or this.form.submit();
});
});
确实很接近。为确保您的服务器端能够获得正确的数据,您的输入应具有名称。
修改强>
代码已更新,包括DOM ready。很容易假设DOM就绪是如此基础,而且可能不是问题。但是,做出任何假设绝不是安全的。
请注意,在js小提琴上创建演示时,如果jQuery版本选择器下的下拉列表显示'onLoad'或'onDomReady',则可能不需要使用DOM准备......因为你的代码无论如何都会被js fiddle包装在适当的事件处理程序中。