我在运行时创建了单选按钮,其值,id和名称相同,如1,2,3 ......依此类推,但我想像这样交换它的值,
单选按钮显示为,
页面加载后它会是这样的,当我更改无线电时,它会更改其前一个检查的无线电
我正在尝试我的代码就在这里,
var selection=new Array();
var allR = document.getElementsByTagName('input');
var a=0;
var b=0;
for(var i=0; i<allR.length; i++){
if(allR[i].type=='radio') { b++; }
if(allR[i].type=='radio' && allR[i].checked) { a++; }
}
var num=0;
alert(b);
for(var j=1;j<=b ;j++)
{
//for(var i=0; i<alr.length; i++){
if(document.getElementsByName('j').checked)
{
selection[num]=j;
num++;
alert(j);
//}
}
}
这里我得到“b”变量中的总单选按钮,然后将已检查的无线电放入数组但不能交换无线电检查???
希望你的建议
编辑:
html代码就是这样,
<input type='radio' onclick='test(this.id);' name='Accounts' value='1' id=1 checked='checked'>1
<input type='radio' onclick='test(this.id);' name='Accounts' value='2' id=2>2
<input type='radio' onclick='test(this.id);' name='Accounts' value='3' id=3>3
<input type='radio' onclick='test(this.id);' name='Accounts' value='4' id=4>4
<br/>
<input type='radio' onclick='test(this.id);' name='Analytical Question' value='1' id=1>1
<input type='radio' onclick='test(this.id);' name='Analytical Question' value='2' id=2 checked='checked'>2
<input type='radio' onclick='test(this.id);' name='Analytical Question' value='3' id=3>3
<input type='radio' onclick='test(this.id);' name='Analytical Question' value='4' id=4>4
<br/>
<input type='radio' onclick='test(this.id);' name='Behavior Questions' value='1' id=1>1
<input type='radio' onclick='test(this.id);' name='Behavior Questions' value='2' id=2>2
<input type='radio' onclick='test(this.id);' name='Behavior Questions' value='3' id=3 checked='checked'>3
<input type='radio' onclick='test(this.id);' name='Behavior Questions' value='4' id=4>4
<br/>
<input type='radio' onclick='test(this.id);' name='Technical Questions' value='1' id=1>1
<input type='radio' onclick='test(this.id);' name='Technical Questions' value='2' id=>2
<input type='radio' onclick='test(this.id);' name='Technical Questions' value='3' id=3>3
<input type='radio' onclick='test(this.id);' name='Technical Questions' value='4' id=4 checked='checked'>4
现在如何交换这个收音机检查值?
答案 0 :(得分:2)
如果我理解你想做的事: 例如。如果在第1行中单击“2”,则需要在第2行中选中“1”。
我为你准备了一份工作脚本, 看看:http://jsfiddle.net/nb3j9/
答案 1 :(得分:1)
选中此FIDDLE
代码看起来像这样
$(function() {
var arr = {
'Accounts': '1',
'Analytical_Question': '2',
'Behavior_Questions': '3',
'Technical_Questions': '4'
}
$('input:radio').on('click', function() {
var grName = $(this).attr('name');
var value = $(this).val();
// Set the arr value here
var currCheck = $('input[value=' + value + ']:checked');
$.each(currCheck, function() {
if ($(this).attr('name') != grName) {
var temp = $(this).val();
var teGrp = $(this).attr('name');
var teVal = arr[grName];
arr[teGrp] = teVal;
arr[grName] = temp;
$('input[name=' + teGrp + '][value=' + temp + ']').attr('checked', false);
$('input[name=' + teGrp + '][value=' + teVal + ']').attr('checked', true);
}
});
});
});
YOUR MARKUP FIDDLE - 确保Name属性之间没有空格