我需要一些jQuery的帮助。
我有一个带复选框的表单,例如:
<form name="myform">
<input type="checkbox" name="apple[]" value="12" />
<input type="checkbox" name="apple[]" value="12" />
<input type="checkbox" name="apple[]" value="14" />
<input type="checkbox" name="apple[]" value="15" />
<input type="checkbox" name="peach[]" value="12" />
<input type="checkbox" name="peach[]" value="14" />
<input type="checkbox" name="peach[]" value="15" />
以下是尝试过的jQuery:
$(document).ready(function(){
$(":checkbox").change(function(){
if($('.peach').attr("checked")) {
alert("Checked");
}
else {
alert("Unchecked");
}
});
});
当我选中一个名为“peach”的复选框时,我应该能够检查名为“apple”的复选框,其值与“peach”相同。因此,如果我选中“peach”并将12作为其值,则还应选中名为“apple”的复选框,其中12为其值。
我是jQuery的新手,所以我找不到自己的解决方案......会有人帮助我吗? : - )
此致
费德里科
答案 0 :(得分:0)
尝试以下方法:
$('input[name^="peach"]').change(function() {
var apple = $('input[name^="apple"][value='+ this.value +']') // phew
if (this.checked) {
apple.prop('checked', true)
} else {
apple.prop('checked', false)
}
})
答案 1 :(得分:0)
检查这个小提琴工作链接。 http://jsfiddle.net/NfU68/
$('input').on('click', function() {
var value = $(this).val();
var checked = $(this).is(':checked');
$('input[value='+value+']').attr('checked', checked)
});
这里可以使用您自己的基于类或父标记的选择器而不是输入。我用于演示目的。
答案 2 :(得分:0)
以下解决方案会将on()
事件处理程序附加到checkbox
元素以捕获任何change
事件。然后,它将获取当前value
元素的checkbox
并检查包含该值的所有其他checkbox
元素。
$('input[type=checkbox]').on('change', function() {
$('input[value='+this.value+']').attr('checked', $(this).is(':checked'));
});
对于1.7之前的版本,使用delegate()
而不是on()
此时不存在。
$(document).delegate('input[type="checkbox"]', 'change', function() {
$('input[value='+this.value+']').attr('checked', $(this).is(':checked'));
});