IEで問題なく動作するチェックボックス付きの複数選択ドロップダウンリスト用の次のjavascriptがあります。
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])
var アイテムに実際のチェックボックス ID を割り当てます
ctl00_MainContent_TabContainer1_TabPanel1_Multiselect1_ctl01
IEで。ただし、Chrome では、これは「webkitEntries」と呼ばれるものをアイテムに割り当てますが、これは私が探しているものではありません。ところで、ここの textID は親コントロールの ID です
ctl00_MainContent_TabContainer1_TabPanel1_Multiselect1_TextControl
ChromeでそれぞれのチェックボックスIDを取得する方法を知っている人はいますか? 明確さの欠如について感謝し、お詫び申し上げます - 私はjsにかなり慣れていません