我在这里发帖是因为我无法找到任何解决方案。 我不是母语人士,所以我会尽力解释我的问题。
我称之为"复选框为母亲"。如果他们被检查,他们的儿子将被禁用。我想做一个"清洁"代码,这就是为什么我试图用户.each(),但它没有按我的意愿工作。 这是我的javascript代码:
<script type="text/javascript">
$(function() {
$("#check_prev").each(function() {
this.click(enable_cb(i));
i++;
});
});
function enable_cb(id) {
if (this.checked) {
$("input.input_panne" + id).attr("disabled", true);
$("input.input_panne" + id).attr("checked", false);
$("span.check_panne" + id).css("color", "#D8D8D8");
} else {
$("input.input_name" + id).removeAttr("disabled");
$("span.check_agent" + id).css("color", "black");
$("input.input_panne" + id).removeAttr("disabled");
$("span.check_panne" + id).css("color", "black");
}
}
</script>
我已经尝试了#34; .concat()&#34;但它不起作用。也是&#34;复选框的母亲&#34;命名如下:check_prev1,check_prev2等。儿子,像这样:input_panne1,input_panne2。
感谢您的帮助......将近2天的工作并没有解决方案......会杀了我自己
编辑:这是HTML CODE
<body>
<input type="checkbox" class="mere" data-mere="1">
<input type="checkbox" class="son son1">
<input type="checkbox" class="son son1">
<input type="checkbox" class="mere" data-mere="2">
<input type="checkbox" class="son son2">
<input type="checkbox" class="son son2">
<input type="checkbox" class="mere" data-mere="3">
<input type="checkbox" class="son son3">
<input type="checkbox" class="son son3">
</body>
答案 0 :(得分:0)
由于元素的id必须是唯一的,因此将check_prev
之类的类分配给所有母版复选框
$(function () {
$(".check_prev").click(enable_cb);
});
function enable_cb() {
var id = this.id.replace('check_prev', '')
if (this.checked) {
$("input.input_panne" + id).prop("disabled", true);
$("input.input_panne" + id).prop("checked", false);
$("span.check_panne" + id).css("color", "#D8D8D8");
} else {
$("input.input_name" + id).prop("disabled", false);
$("span.check_agent" + id).css("color", "black");
$("input.input_panne" + id).prop("disabled", false);
$("span.check_panne" + id).css("color", "black");
}
}