我应该首先提到我正在使用 Internet Explorer 6。我正在tabModifiedHighlight
从一个onChange
事件中调用一个 JavaScript 函数 ( )。该功能在其他地方也可以正常工作,但是,当我选中复选框时,我在页面上有几个地方可以工作,但是当我取消选中它时,该事件似乎甚至没有触发。这是 JavaScript 函数:
function tabModifiedHighlight(){
alert("alert");
var div, i, input, inputIndex, selects, selectIndex, selectedTab, highlighted;
var tabs = new Array("admissioninformation","diet","vitalsigns","activities","nursing","ivfluids","medications1","medications2","labs","respiratory","diagnostic","consultations");
for(i=0; i<(tabs.length); i++){
selectedTab = tabs[i]+'tab';
if (document.getElementById(selectedTab).className == "selectedtab"){
div = document.getElementById(tabs[i]),
input = div.getElementsByTagName('input'),
selects = div.getElementsByTagName('select');
break;
}
}
highlighted = false;
for (inputIndex = 0; inputIndex < input.length; inputIndex++){
if (input[inputIndex].checked == true){
highlighted = true;
}
}
for (inputIndex = 0; inputIndex < input.length; inputIndex++){
if (input[inputIndex].type == 'text' && input[inputIndex].value != ""){
highlighted = true;
}
}
for (selectIndex = 0; selectIndex < selects.length; selectIndex++){
if (selects[selectIndex].value != ""){
highlighted = true;
}
}
if (highlighted == true){
document.getElementById(selectedTab).style.backgroundColor = "#FF0";
}
else {
document.getElementById(selectedTab).style.backgroundColor = "#F0F0F0";
}
}
这是调用它的输入:
<input name="cbMedTylenolPO" id="cbMedTylenolPO" type="checkbox" value="PO" onClick="tylenolPoShowHide(); checkBoxHighlight(this, 'MedicationsRow2'); tabModifiedHighlight();" />
此页面有多个“选项卡”,它们只是 div,根据选择的选项设置为可见或隐藏。它似乎是一致的,除了 2 个选项卡之外,它在任何地方都可以工作,而在这些选项卡上没有任何地方。我能看到的唯一其他区别是,那些不工作的也显示或隐藏选项卡中的 div,这取决于复选框是否被选中。我在函数的最开始添加了警报,以查看它是否正在触发,并且在选中复选框时会触发,但在取消选中时不会触发。
我希望我说清楚了,任何想法都值得赞赏!