作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将按键事件绑定(bind)到一种动态构建的元素形式,见下文
<div class="Customer">
<select name="dropdown1" id="dropdown1">
</select>
<input type="textbox" name="firstname1" id="firstname1">
<input type="textbox" name="lastname1" id="lastname1">
</div>
<div class="Customer">
<select name="dropdown2" id="dropdown2">
</select>
<input type="textbox" name="firstname2" id="firstname2">
<input type="textbox" name="lastname2" id="lastname2">
</div>
... and repeat..
我需要检查,只要上面的任何元素发生变化,没有其他元素是空的。
表单中还有其他几个元素,尽管我只关心代码段中突出显示的这些元素。
非常感谢,
我试过下面的代码
$('.Customer').each(function (index) {
alert("test"); // alerts the correct number of customer rows
$("input:textbox").click(function() {
alert("");
})
});
解决方案应该适用于 jQuery 1.3.2
最佳答案
看到它工作 here
<input type="checkbox" id="test" name="test" disabled="disabled">
<div class="Customer">
<select name="dropdown1" id="dropdown1">
<option value="1.1">1.1</option>
<option value="1.2">1.2</option>
</select>
<input type="text" name="firstname1" id="firstname1">
<input type="text" name="lastname1" id="lastname1">
</div>
<div class="Customer">
<select name="dropdown2" id="dropdown2">
<option value="2.1">2.1</option>
<option value="2.2">2.2</option>
</select>
<input type="text" name="firstname2" id="firstname2">
<input type="text" name="lastname2" id="lastname2">
</div>
$('.Customer input, .Customer select').bind("change keyup", function(){
var me = $(this);
var clicked = me.attr("name");
var empty = false;
$('.Customer input,select').each(function(){
var elem = $(this);
if (elem.val() == "") {
empty = true;
}
});
if (empty) {
$('#test').attr('disabled','disabled')
} else {
$('#test').removeAttr('disabled')
}
});
PS:输入中没有类型 textbos。是文字。为了在发生更改时触发回调,您使用“更改”而不是“点击”事件。如果您希望它同时适用于输入和下拉菜单,则需要“输入,选择”
关于javascript - jquery 遍历元素并将事件绑定(bind)到每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938471/
我是一名优秀的程序员,十分优秀!