我有以下 javascript 用于带有复选框的多选下拉列表,在 IE 中工作得很好:
function checkAll(textId, checkId, hiddenId) {
var checkBox1 = document.getElementById(checkId);
var textElement = document.getElementById(textId);
var hiddenElement = document.getElementById(hiddenId);
if (checkBox1.checked) {
for (var item in window[textId]) {
if (typeof window[textId][item] != "function") {
var checkBox = document.getElementById(item);
if (window[textId][item].text != "Not Supported")
try
{
checkBox.checked = true;
}
catch (exception)
{
}
if (window[textId][item].text != "Select/De-select All" && window[textId][item].text != "Not Supported")
textElement.value += window[textId][item].text + ", ";
hiddenElement.value += window[textId][item].value + "|";
}
}
}
else if (!checkBox1.checked) {
for (var item in window[textId]) {
if (typeof window[textId][item] != "function") {
var checkBox = document.getElementById(item);
checkBox.checked = false;
textElement.value = "";
hiddenElement.value = 0;
}
}
}
}
但是,在 Chrome 中它不起作用。问题是这条线
for (var item in window[textId])
将实际的复选框 ID 分配给 var 项
ctl00_MainContent_TabContainer1_TabPanel1_Multiselect1_ctl01
在 IE 中。但是,在 Chrome 中,这会分配给名为“webkitEntries”的项目,这不是我想要的。btw textID 这里是父控件的ID
ctl00_MainContent_TabContainer1_TabPanel1_Multiselect1_TextControl
有谁知道如何在 Chrome 中获取每个复选框的 ID?感谢并为任何不清楚的地方道歉——我对 js 很陌生