我正在尝试创建一个下拉字段,如果选中“其他”项,则会出现“请指定”文本框。下面只使用一个下拉选择字段,但只要我添加第二个选择字段,它就不再有效。
这就是我所拥有的似乎不起作用的东西:
... CSS
#techother{display:none;}
#lmsother{display:none;}
实体...
<p>Chose Your Browser: <select name = "Browser" required>
<option value = "">-- Select an Option --</option>
<option value = "1">IE</option>
<option value = "2">FF</option>
<option value = "3">Safari</option>
<option value = "4">Opera</option>
<option value = "5">Other</option>
</select>
</p>
<div id="browserother">
<p>Please Specify: <label id="browserlabel"><input name="Other Browser" type="text" placeholder="Other Browser" size="50" /></label></p>
</div>
<p>Operating System: <select name = "OS" required>
<option value = "">-- Select an Option --</option>
<option value = "Win">Windows</option>
<option value = "ios">iOS</option>
<option value = "otheros">Other</option>
</select>
</p>
<div id="osother">
<p>Please Specify: <label id="oslabel"><input name="Other OS" type="text" placeholder="Other OS" size="50" /></label></p>
</div>
脚本...
<script>
$('form select[name=Browser]').change(function(){
if ($('form select option:selected').val() == '5'){
$('#browserother').show();
}else{
$('#browserother').hide();
}
});
$('form select[name=OS]').change(function(){
if ($('form select option:selected').val() == 'otheros'){
$('#osother').show();
}else{
$('#osother').hide();
}
});
</script>
任何使这项工作的方法?谢谢!
答案 0 :(得分:9)
试试这个DEMO:http://jsfiddle.net/2pM3n/1/
$('select[name=Browser]').change(function () {
if ($(this).val() == '5') {
$('#browserother').show();
} else {
$('#browserother').hide();
}
});
$('select[name=OS]').change(function () {
if ($(this).val() == 'otheros') {
$('#osother').show();
} else {
$('#osother').hide();
}
});
答案 1 :(得分:4)
你去了:http://jsfiddle.net/ecZrE/
你在选择器中混淆了一些东西。使用
$('p select[name=Browser]')
而不是
$('form select[name=Browser]')
因为没有表单元素。但无论如何你的片段都是不完整的。
另一个错误的选择器是
$('form select option:selected')
因为您忘了指定select元素。