我们可以从.aspx页面获取总radiobuttonlist项目的数量。我必须调用一个javascript函数onclientclick一个按钮,我想循环遍历radiobuttonlist项目的总数。所以任何人都可以告诉我,我们可以从.aspx页面获取它。因为在我的场景中我无法使用代码来支持这一点。
function ClearRBL() {
for (i = 0; i < RBLCOUNT; i++) {
document.getElementById('rblWorkerList_' + [i]).checked = false;
}
}
我如何从.aspx页面获取RBLCOUNT?如果不可能,那么请在Javascript中。
答案 0 :(得分:1)
我不知道aspx方面是如何工作的,但是如果你只想用JavaScript做,你可以做类似下面的事情,不需要事先知道元素的总数:
function ClearRBL() {
var i = 0,
rbl;
while (null != (rbl = document.getElementById('rblWorkerList_' + i++)))
rbl.checked = false;
}
以上假设元素id以0开头,以0开始向上计数; while循环将继续运行,直到document.getElementById()找不到匹配的元素(在这种情况下,它返回null)。一种不那么神秘的写作方式如下:
function ClearRBL() {
var i = 0,
rbl = document.getElementById('rblWorkerList_' + i);
while (null != rbl) {
rbl.checked = false;
i++;
rbl = document.getElementById('rblWorkerList_' + i);
}
}
P.S。 while循环结束时i
将等于单选按钮的数量,如果你想在之后使用该数字做某事,这可能很有用。
答案 1 :(得分:0)
试试这个: - 这不是你想要的,但希望它会对你有所帮助。
function GetRBLSelectionID(RadioButtonListID) {
var RB1 = document.getElementById(RadioButtonListID);
var radio = RB1.getElementsByTagName("input");
var isChecked = false;
var retVal = "";
for (var i = 0; i < radio.length; i++) {
if (radio[i].checked) {
retVal = radio[i].id;
break;
}
}
return retVal;
}
答案 2 :(得分:0)
你可以给所有单选按钮命名,然后像这样得到它们。
var RBLCOUNT= document[groupName].length;
或
var RBLCOUNT= 0;
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; ++i) {
if(inputs[i].type =="radio"){
RBLCOUNT++;
}
}
答案 3 :(得分:0)
我刚刚创建了一个由Karthik Harve提到的javascript函数,并发现动态生成的总行数如下: -
function ClearRBL() {
var rblLen = document.getElementById('rblWorkerList');
for (i = 0; i < rblLen.rows.length; i++) {
document.getElementById('rblWorkerList_' + [i]).checked = false;
}
}
它正在Mozila和IE上工作。
非常感谢所有试图提供帮助的人。