我有这样的HTML:
<div class="s-item s-question">
<label>label text</label>
<div>
<input name="s1" type="checkbox" class="switch-indeterminate k-input"
data-indeterminate="true"
data-on-text="Yes"
data-off-text="No" />
</div>
</div>
使用jQuery动态地,如何选择该输入?我想确定何时发生变化。
最高级别的div总是会有s-item
级,但有时我可能会有一个按钮或一个选择框等,而不是一个复选框。
所以我想也许$('.s-item').find('select, input, button').change(function() { ... });
可行吗?但它没有。
我该怎么办?
答案 0 :(得分:2)
“更改”事件仅在input
,select
和textarea
元素上有效。它不起作用,因为您试图将其分配给button
元素。
$('.s-item').find('select, input, textarea').change(function() { ... });
应该有用。
将一个班级分配给你关心的项目会更简洁,所以你可以做到
$(".s-change-watch").change(function() { ... });
更好地区分标记的语义(就像它的元素类型)和功能。
答案 1 :(得分:0)
您只需执行以下操作即可获取复选框,然后检查值
$('.s-item div input')
或者只是给输入一个id或类并选择它。