1

我有以下 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 很陌生

4

0 回答 0