我们可以在.aspx页面中获取radiobuttonList.Items.Count吗?

时间:2011-11-29 06:38:42

标签: javascript asp.net

我们可以从.aspx页面获取总radiobuttonlist项目的数量。我必须调用一个javascript函数onclientclick一个按钮,我想循环遍历radiobuttonlist项目的总数。所以任何人都可以告诉我,我们可以从.aspx页面获取它。因为在我的场景中我无法使用代码来支持这一点。

function ClearRBL() {
     for (i = 0; i < RBLCOUNT; i++) {
         document.getElementById('rblWorkerList_' + [i]).checked = false;
     }
}

我如何从.aspx页面获取RBLCOUNT?如果不可能,那么请在Javascript中。

4 个答案:

答案 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上工作。

非常感谢所有试图提供帮助的人。