我的表单中有5个复选框和1个textarea,并希望只为所有这些挂钩OnChange()。但是,无论出于什么原因,我在Stack Overflow上找到的任何内容似乎都没有被调用。
由于这是我发现的最基本的例子,这有什么问题?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"/>
<script type="text/javascript">
$(document).ready(function()
{
$("input").on("input", function()
{
alert("CHANGED");
});
}
</script>
答案 0 :(得分:3)
你应该处理变更事件:
$('input:checkbox,textarea').change(function () {
alert('changed');
});
答案 1 :(得分:1)
oninput
事件仅在输入的文字更改时触发,因此不会针对复选框触发该事件。尝试绑定到change
事件的复选框和textareas上的input
事件:
$("textarea").on("input", yourFunction);
$("input:checkbox").on("change", yourFunction);
function yourFunction() {
alert("CHANGED");
}
jsFiddle演示了上述内容。
注意:此答案的不同之处在于alert
会立即触发textarea
,而不仅仅是元素的模糊。
附加说明:&lt;&lt; 中不支持oninput
事件IE9
答案 2 :(得分:1)
为什么要将input
事件绑定到复选框,它只对textarea开火?
您需要绑定change
事件:
试试这个:
<强>更新强>
$(document).ready(function()
{
$("textarea").on("input", function(){
alert("CHANGED");
});
$("input").on("change", function(){
alert("CHANGED");
});
});
答案 3 :(得分:0)
复选框通常与同名属性一起使用,因此在选择器名称属性中将是有用的
$("input[name='interests']").change(function(){
/*some code*/
});
答案 4 :(得分:-1)
它不适用于textarea。您可以将所有单选按钮和textarea分配为同一个类,然后
$(".your_class_name").on("change", function()
{
alert("CHANGED");
});