我有一个复选框列表我已经将一些文档名称绑定到它的文本字段。现在我只需找到文本包含.pdf扩展名的复选框,并在单个复选框中单击它们。写下面的javascript,但它对我不起作用
function CheckAllPDF() {
var checkBoxList = document.getElementById("<%= cblFiles.ClientID %>");
var checkBoxes = checkBoxList.getElementsByTagName("input");
for (i = 0; i < checkBoxes.length; i++) {
var string = checkBoxes[i].parentNode.getElementsByTagName('label').innerHTML;
var match = string.indexOf(".pdf");
if (match != -1) {
checkBoxes[i].checked = true;
}
else {
checkBoxes[i].checked = false;
}
}
有人可以帮忙吗?
答案 0 :(得分:0)
当您在页面中放置一个asp.net复选框列表时,它会被转换为类型为checkbox的输入列表,因此您需要访问每个控件并进行检查,以便您的javascript代码应如下所示:
//Get the main id of the asp.net check box list
var checkboxId = '<%= CheckBoxList1.ClientID %>';
//Loop on all generated input check boxes where the count function determine the number of generated checkboxes
for (var i = 0; i < <%= Count() %>; i++) {
//Append the count on the main asp.net check box id the value ('_'+i)
var checkBox = document.getElementById(checkboxId + '_' + i);
var checkBoxValue = checkBox.value;
var match = checkBoxValue.indexOf(".pdf");
if (match != -1) {
checkBox.checked = true;
}
else {
checkBox.checked = false;
}
}
在后面的代码中写入count函数如下:
public int Count()
{
return CheckBoxList1.Items.Count;
}