我最后有选项下拉菜单,如果我们动态选择``其他''选项,则会出现``其他''选项,但我的问题是,这是多选下拉菜单。如果您选择``其他''以及该下拉菜单中的另一个选项,文本框即将到来。如果您选择“其他”选项和任何其他选项,如何获取该文本框...
function showfield(name) {
if (name == 'others') {
document.getElementById('div1').innerHTML =
'<input type="text" id="others" name="others" autocomplete="off" />';
}
else {
document.getElementById('div1').innerHTML ='';
}
}
<td>
<select class="outcomes" id="outcomes" name="keyOutcomes"
multiple="multiple" style="width: 310px;"
onchange="showfield(this.options[this.selectedIndex].value)">
<option value="Revenue-top-line">Revenue top-line</option>
<option value="Margin">Margin(CTS/Client)</option>
<option value="Cashflows">Cashflow improvement</option>
<option value="Custome">Customer experience/CSAT</option>
<option value="Demand">Demand Elimination</option>
<option value="Risk">Risk Reduction</option>
<option value="Regulatory_compliance">Regulatory compliance</option>
<option value="others">Others</option>
</select>
<span id="outcomeaddress" style="margin-top: 29px; margin-left: 275px; color: red;"></span>
<div id="div1"></div>
</td>
好吧,首先您已经添加了jquery标签,但是您没有在问题中使用它,所以我假设您不介意答案是否包含jquery:
这是一个工作代码(经过测试),如果选择了其他代码,则显示或不显示其他选项:
$("#outcomes").change(function() {
var selected = $(this).val(); //array of the selected values in drop box
for(var i=0; i < selected.length; i++) {
if (selected[i] == "others") {
$("#div1").html('<input type="text" id="others" name="others" autocomplete="off" />');
} else {
$("#div1").html("");
}
}
});
它所做的就是获取所有选定的值(选择var),遍历它们以检查其他值是否为选定的值之一,如果是,则显示输入,如果不,则不显示。
也不要忘记删除html中的onchange:
<select class="outcomes" id="outcomes" name="keyOutcomes" multiple="multiple" style="width: 310px;">
<option value="Revenue-top-line">Revenue top-line</option>
<option value="Margin">Margin(CTS/Client)</option>
<option value="Cashflows">Cashflow improvement</option>
<option value="Custome">Customer experience/CSAT</option>
<option value="Demand">Demand Elimination</option>
<option value="Risk">Risk Reduction</option>
<option value="Regulatory_compliance">Regulatory compliance</option>
<option value="others">Others</option>
</select> <span id="outcomeaddress" style="margin-top: 29px; margin-left: 275px; color: red;"></span>
<div id="div1"></div
编辑:这是有效的,因为“其他”是最后一个选项,因此每次选择某项时它都会最后检查一次,即使“其他”不是最后一个选项,这也是一个代码:
$("#outcomes").change(function() {
var selected = $(this).val(); //array of the selected values in drop box
var isSelected = false;
for(var i=0; i < selected.length; i++) {
if (selected[i] == "others") {
isSelected = true;
}
}
if (isSelected) {
$("#div1").html('<input type="text" id="others" name="others" autocomplete="off" />');
} else {
$("#div1").html('');
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句