0

我在运行时创建了单选按钮,它的值、id 和名称与 1、2、3 等相同,但我想像这样交换它的值,

http://jsfiddle.net/u8ySM/

单选按钮显示为,

在此处输入图像描述

页面加载后它会是这样,当我更改收音机时,它会更改其收音机与前一个检查

我正在尝试我的代码在这里,

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

现在如何交换这个收音机检查值?

4

2 回答 2

2

如果我理解正确,您想这样做:例如。如果您单击 row1 中的“2”,您希望在 row2 中选中“1”。

我为你准备了一个工作脚本,看看:http: //jsfiddle.net/nb3j9/

于 2012-09-21T07:24:06.987 回答
1

检查这个小提琴

代码看起来像这样

    $(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);
            }
        });
    });
});​

你的标记小提琴 ——确保名称属性之间没有空格

于 2012-09-21T07:37:19.197 回答