我想取消选中基于取消选中其他复选框的复选框。 离。
<input id=isActive_1 type=checkbox />
<input id=isActive_2 type=checkbox />
<input id=isActive_3 type=checkbox />
<input id=publish_1 type=checkbox />
<input id=publish_2 type=checkbox />
<input id=publish_3 type=checkbox />
当我取消选中'isActive_1'时,此时应取消选中'publish_1'。 请帮帮我
答案 0 :(得分:2)
请参阅:Fiddle
$('input[id^=isActive_]').change(function () {
$("input[id^=publish" + this.id.replace('isActive', '') + "]").attr('checked', this.checked);
});
答案 1 :(得分:0)
$("input#isActive_1").click(function(){
if($('input#isActive_1:checked').length > 0)
$('input#publish_1').attr('checked', true);
else
$('input#publish_1').attr('checked', false);
});
修改:错误的测试,以确定第一次是否选中“isActive_1”复选框。
答案 2 :(得分:0)
您可以使用:
$(document).ready(function(){
$("input#isActive_1").click(function(){
if(!$("input#isActive_1").prop("checked"))
$("input#publish_1").prop("checked", false);
else
$("input#publish_1").prop("checked", true);
});
});
更新自评论
以这种方式使用正则表达式选择器:
$(document).ready(function(){
$("[id^=isActive_]").click(function(){
/////
});
});
答案 3 :(得分:0)
首先使用双引号作为属性值,并使用isActive_
复选框的id来获取publish_
的索引
<强> Live Demo 强>
HTML 的
<input id="isActive_1" type="checkbox" />
<input id="isActive_2" type="checkbox" />
<input id="isActive_3" type="checkbox" />
<input id="publish_1" type="checkbox" />
<input id="publish_2" type="checkbox" />
<input id="publish_3" type="checkbox" />
的Javascript
$('[id^=isActive_]').change(function () {
$('#publish_' + this.id.replace('isActive_', '')).attr('checked', this.checked);
});
答案 4 :(得分:0)
你应该试试这个: JSFiddle
$(function() {
$(document).on("click", "input[id^='isActive_']", function() {
var number = +$(this).attr("id").substring(9);
var checked = $(this).prop("checked");
// for checking & unchecking behaviour
//$("#publish_"+number).prop("checked", checked);
if(!checked) {
$("#publish_"+number).prop("checked", false);
}
});
});
(或“改变”事件)
您现在可以添加任意数量的复选框,甚至可以动态添加(例如,在页面加载和JavaScript执行后 - 来自AJAX)