我正在尝试在调查页面上放置两个多选元素。一个选择一个人参加的研讨会,另一个选择一个人想要参加的研讨会,但没有。还有一个带有监听器的按钮,可以显示该人从第一个多选中选择的任何工作室的评级选项。 HTML就像这样:
<table class="edoa-content">
:
:
<td colspan="5" class="edoa-conv-color3">
<label><b>Which workshops/plenary sessions did you attend? (Hold down the control [Cmd on a Mac] button when you click on
each item in order to select more than one item from the list):</b></label></td></tr>
<tr><td>
<select tabindex="0" multiple id="wkshp" name="wkshp">
<option style="color: #AC2931; font-weight: bold; font-size: 105%"
value="bmb">Workshop Name 1 (Workshop Presenter)
</option>
<option style="color: #AC2931; font-weight: bold; font-size: 105%" value="bmb">Workshop Name 2 (Workshop Presenter)
</option>
:
: etc.
</select>
</td></tr>
<tr><td colspan="5" style="text-align: right"><button class="edoa-btnLink" id="btn_wkshp" tabindex="1">Click here to rate the chosen workshops</button></td></tr>
:
:
<tr><td colspan="5" class="edoa-conv-color3">
<label><b>Please select any workshops you wanted to attend, but didn't or couldn't (Hold down the control [Cmd on a Mac] button when you click on each item in order to select more than one item from the list):</b></label></td></tr>
<select tabindex="2" multiple id="wkshpnot" name="wkshpnot">
<option style="color: #AC2931; font-weight: bold; font-size: 105%" value="bmb">Workshop Name 1 (Workshop Presenter)
</option>
<option style="color: #AC2931; font-weight: bold; font-size: 105%" value="bmb">Workshop Name 2 (Workshop Presenter)
</option>
:
: etc.
</select>
</td></tr>
:
:
etc.
我在加载时将多个选择(和按钮)附加一个监听器,整个页面由php构建,因为我在页面实际加载之前要进行处理,要在页面上设置变量等等附加到第一个的更改侦听器被解雇了,但我无法在第二个上触发任何事件。我尝试过模糊,改变和点击,而不是其中一个火灾。
第一个监听器的代码是:
var btn = document.getElementById(otherFld);
if (btn){
if(btn.style.display === 'none'){
var selopts = document.getElementById(elemId).options;
var sels = 0;
for (var i=0; i < selopts.length; ++i){
if (selopts[i].selected){sels++;}
}
if (sels > 0){
var add = confirm("Do you want to add to the list you've chosen or start over?\nPress OK to add, Cancel to start over");
if (!add){
remove_element("wkshpTbl");
} else {
btn.innerHTML="Please click here to add the workshops to rate";
}
}
btn.style.display='inline';
}
}
目前,第二个听众的代码只是一个提醒。
我不确定发生了什么。我搜索过这个网站并用谷歌搜索它,我看到的一切都不适用于这种情况或者是指一些javascript库,而不是纯粹的/纯粹的javascript。
有什么想法吗?
答案 0 :(得分:0)
我只知道问题所在。我的元素列表中没有这个元素可以在页面中附加监听器。 D'哦!!