我需要做类似于JQuery在两个单选按钮组之间同步选定的单选按钮的操作。
我有两个单选按钮组 -
<input type="radio" name="radio_A" id="radio_A_1" value="1" />1st
<input type="radio" name="radio_A" id="radio_A_2" value="2" />2nd
<input type="radio" name="radio_B" id="radio_B_1" value="1" />1st
<input type="radio" name="radio_B" id="radio_B_2" value="2" />2nd
当选中
radio_A_1
时,需要同步/选中radio_B_2
。关系如下:radio_A_1
=>radio_B_2
radio_A_2
=>radio_B_1
radio_B_1
=>radio_A_2
radio_B_2
=>radio_A_1
。参考答案:#8804502。
$('input[name=radio_A]').change(function() {
var index = $(this).index('input[name=radio_A]');
console.log(index);
$('input[name=radio_B]:eq(' + index + ')').attr('checked','checked');
});
我理解的意思是,只有当A
改变时,才会出现same=>same
的情况。
例如:
radio_A_1
=>radio_B_1
radio_A_2
=>radio_B_2
如果我复制这段代码,并将A=>B
更改为B=>A
,则会发生什么呢?
$('input[name=radio_A]').change(function() {
var index = $(this).index('input[name=radio_A]');
console.log(index);
$('input[name=radio_B]:eq(' + index + ')').attr('checked','checked');
});
$('input[name=radio_B]').change(function() {
var index = $(this).index('input[name=radio_B]');
console.log(index);
$('input[name=radio_A]:eq(' + index + ')').attr('checked','checked');
});
当A
或B
任一改变时,我得到的结果都是same
,即:
radio_A_1
=>radio_B_1
radio_A_2
=>radio_B_2
radio_B_1
=>radio_A_1
radio_B_2
=>radio_A_2
我该如何使它们同步为1=>2
/2=>1
,而不是1=>1
/2=>2
?是否可以用1个代码块实现,而不是2个?