Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从所有行中获取单击的单选按钮值_Javascript_Jquery - Fatal编程技术网

Javascript 从所有行中获取单击的单选按钮值

Javascript 从所有行中获取单击的单选按钮值,javascript,jquery,Javascript,Jquery,我有一个网格(dhtmlx),有很多行。我试图实现的是获得每行单击的单选按钮的所有值加上用逗号分隔的行id,并将其放入一个输入框中?行ID和单选按钮值由以下内容分隔: 行ID自动生成为110014742~01~01格式 rowId:radioBtnValue,rowId:radioBtnValue,rowId:radioBtnValue 单击单选按钮时,输入框内会出现13004238~01~01:02、110012178~01~01:05、110014742~01~01:03-->等 包含所有单

我有一个网格(dhtmlx),有很多行。我试图实现的是获得每行单击的单选按钮的所有值加上用逗号分隔的行id,并将其放入一个输入框中?行ID和单选按钮值由以下内容分隔:

行ID自动生成为110014742~01~01格式

rowId:radioBtnValue,rowId:radioBtnValue,rowId:radioBtnValue

单击单选按钮时,输入框内会出现13004238~01~01:02、110012178~01~01:05、110014742~01~01:03-->等

包含所有单选按钮及其标题的列的id为rbBtn_sel

单击时会有另一个按钮,它将从输入框中获取值并保存

function DoRowSaveConfig()  {
 var colIndex=mygrid.getColIndexById("rdBtn_sel");
 var radioBtn = mygrid.getCheckedRows(colIndex);
 var  CommaCount = radioBtn.split(",").length - 1 ;
 for (var i= 0; i<radioBtn.length; i++)
 if (radioBtn[i].checked) {
 var selectedVal = radioBtn[i].value;
             document.getElementById('an.ret.sys.4.').value = selectedVal;
             document.getElementById('an.ret.sys.5.').click();
             } 
             }
              return false;
       };
函数DoRowSaveConfig(){ var colIndex=mygrid.getcolindexbyd(“rdBtn_sel”); var radioBtn=mygrid.getCheckedRows(colIndex); var CommaCount=radioBtn.split(“,”).length-1; 对于(var i=0;i ]]> \'; 使用

使用
.map()
创建带有
.join()
的数组,可以执行以下操作:

function DoRowSaveConfig(){
    var arr = $('tr:not(:first)').map(function(){
        var id = $.trim($(this).find('td').eq(1).text()); //1 == second column
        var value = $(this).find(':checked').val(); //Find the checked one
        return id + ':' + value; //Build an array of strings
    }).get()
    
    alert(arr.join(', ')); //Join them.
}


编辑 编辑后,此代码应能正常工作:


这里是我的尝试-注意它比地图简单得多,并且假设你只有你想要在页面上处理的收音机

如果您需要收音机的名称:

clicked.push(this.name+":"+this.value);

嗨!Mplungjan,谢谢你的回复。它可以工作,但我可能误导了你。请看我的编辑。请看更新。你的html或FIDLE中没有任何东西显示rowId的位置,除了在电台名称中。你能用实际呈现的html更新FIDLE吗?看这里:我看不到row id设置的位置。你需要
ale吗rt(mygrid.bB(mygrid.getRowIndex(mygrid.bI()))
Hi!我已经解决了这个问题,但是当我第一次单击它时,我似乎得到了一个空值。你能帮我吗?Hi!我稍微更改了html代码,使所有单选按钮周围都有一个带有id的div,然后改用该id。再次感谢你的帮助。这是我在最后所做的。嗨!Karl,谢谢你的回复。效果很好但我可能误导了你。请看我的编辑。@19Oggs看我的编辑,我没有测试它,但我认为它会起作用。@19Oggs你能做小提琴吗,不能检测出什么问题:嗨!我更新了你的小提琴。我们使用DHTMLX和解析xml,它创建了一个网格(表)并将xml中的值输入到DHTMLX中,提供了这个来获取行的id,但没有运气…var selId=grid.getSelectedId();非常感谢您尝试查看它。谢谢您,Karl。我将尝试整理一些东西。嗨!Tushar,谢谢您的回复。它很有效,但我可能误导了您。请查看我的编辑。
function DoRowSaveConfig(){
    var arr = $('tr:not(:first)').map(function(){
        var id = $.trim($(this).find('td').eq(1).text()); //1 == second column
        var value = $(this).find(':checked').val(); //Find the checked one
        return id + ':' + value; //Build an array of strings
    }).get()
    
    alert(arr.join(', ')); //Join them.
}
function DoRowSaveConfig(){
    var arr = $('row').map(function(){
        var id = this.id;
        var value = $(this).find(':checked').val(); //Find the checked one
        return id + ':' + value; //Build an array of strings
    }).get()
    
    alert(arr.join(', ')); //Join them.
}
$(function() {
  $("input[type=radio]").on("click",function() { 
    var clicked = [];
    $("input[type=radio]:checked").each(function() {
        clicked.push($(this).closest("td").prev().text()+"~"+this.value);
    });
    $("#an\\.ret\\.sys\\.4\\.").val(clicked);
  });    
});
clicked.push(this.name+":"+this.value);