簡體   English   中英

如何通過Java腳本或jquery交換單擊時選中的單選按鈕? 我的代碼附上

[英]How to swap radio button checked on click either by java script or by jquery ??? my code attached

我在運行時創建了單選按鈕,其值,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

現在如何在此單選檢查值中交換?

如果我理解正確,那么您想這樣做: 如果您在第1行中點擊“ 2”,則希望在第2行中選中“ 1”。

我已經為您准備了一個工作腳本,請看一下: http : //jsfiddle.net/nb3j9/

檢查這個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);
            }
        });
    });
});​

您的標記字段 -確保“名稱”屬性之間沒有空格

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM