我正在尝试创建一个包含几个下拉选择元素的基本Web表单。这两个元素都有一个“其他 - 请指定”选项,我希望每当选择“其他”选项时,文本字段会自动显示在下拉框下方,如果选项从更改中删除,则文本字段将消失“其他”是另一种选择。
我不知道如何做到这一点,任何人都可以帮忙吗?
答案 0 :(得分:1)
jsfiddle上的工作代码
JS:
document.getElementById("sid").onchange= function(){
if(this.value == 'Other'){
document.getElementById("other").style.display = '';
}
else{
document.getElementById("other").style.display = 'none';
}
}
HTML:
<select id='sid'>
<option>1</option>
<option>2</option>
<option>Other</option>
</select>
<input id='other' style='display:none' />
答案 1 :(得分:0)
您可以使用CSS来完成此任务。试试这个页面http://www.coderanch.com/t/112986/HTML-CSS-JavaScript/Show-hidden-text-field。
答案 2 :(得分:0)
,您可以添加onchange =“changed()”属性。 然后创建一个名为changed的javascript函数。
其余时间使用Jquery。
例如
function changed() {
if($('#idOfSelect').val() == "Other") {
$('#idOfSelect').after("<textbox>bla bla</textbox>");
}
}
类似的东西。
答案 3 :(得分:0)
HTML
<select id="aDropDown">
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=other>Other</option>
</select>
<p id="aDropDownOther" class="other-label">Other Label</p>
JS
var ele_aDropDownOther = document.getElementById('aDropDownOther');
document.getElementById('aDropDown').onchange = function() {
if (this[this.selectedIndex].value === "other") {
ele_aDropDownOther.style.display = "block";
} else {
ele_aDropDownOther.style.display = "";
}
}
CSS
.other-label {display:none;}
或类似地使用jQuery
的JavaScript / jQuery的
var $aDropDown = $('#aDropDown'),
$aDropDownOther = $('#aDropDownOther');
$aDropDown.change(function() {
if ($aDropDown.val() === "other") {
$aDropDownOther.show();
} else {
$aDropDownOther.hide();
}
});