DataList控件所包含的控件在运行的时候,它的ID或name是类似的。我们可以通过获取控件的name值,从而得到ID值。
例子:DataList的ID为dlPG,DataList控件中包含CheckBox控件和HiddenField控件。那么,页面在运行的时候,DataList中的控件name为:dlPG$、数字$、控件ID 这3部分组成;ID为:dlPG_ 、数字_ 、控件ID这3部分组成。name和ID的区别为:name为$ 、ID为_ 。
我们在得到name值后,可以把$替换为_ 。而且,同一行同一列中的前2部分是相同的,如果我们想通过选中CheckBox值后得到HiddenField的值,那么,可以把CheckBox的ID替换为HiddenField的ID。这样就可以得到HiddenField的值了。
如:
var box = document.getElementsByTagName("input");
for (var i = 0; i < box.length; i++) {
if (box[i].type == "checkbox" && box[i].checked == true) {
var Name = box[i].name; //得到CheckBox的name
var ID = Name.replace(/\$/g, "_").replace("pid", "lbPids"); //把name中的$用_替换,并把CheckBox的ID值替换为HiddenField的ID值。
Value += document.getElementById(ID).value + ","; //获取HiddenField中的值
}
}