使用jquery如何自动删除下拉列表中的第一个空白选项(如果它依赖于另一个选项)
Using jquery how to automatically remove the first blank option in dropdown list if it depended on another choice
我有3个下拉列表。第一个id为"q1",第二个为"q2",第三个为"qc"。当用户从"q1"中选择一个选项时,会显示"q2"选项,当用户从"q2"中选择选项时,则会显示"q3"选项。问题是当用户从"q1"中选择一个选项时,如何删除"q2"中的第一个空白选项,以及当用户从"q2"中选择一项选项时,该如何删除"q3"中的第一项。我试过这个代码,它从"q2"中删除了第一个空白选项,但在我从"q1"中选择后,我需要它删除,以直接显示没有空白选项的内容。
$("#q1 select").change(function(){
$('#q1 select option').filter(function() {
return !this.value || $.trim(this.value).length == 0;
})
.remove();
$('#q2 select option').filter(function() {
return !this.value || $.trim(this.value).length == 0;
})
.remove();
$('#q3 select option').filter(function() {
return !this.value || $.trim(this.value).length == 0;
})
.remove();
});
$("#q2 select").change(function(){
$('#q2 select option').filter(function() {
return !this.value || $.trim(this.value).length == 0;
})
.remove();
$('#q3 select option').filter(function() {
return !this.value || $.trim(this.value).length == 0;
})
.remove();
});
这个代码怎么样:
$(function(){
$("#q1").change(function(){
if($("#q2 option")[0].value == "")
$("#q2 option")[0].remove();
});
$("#q2").change(function(){
if($("#q3 option")[0].value == "")
$("#q3 option")[0].remove();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<body>
<p>
<select id="q1">
<option value="">Select...</option>
<option value="volvo">1</option>
<option value="saab">2</option>
<option value="opel">3</option>
</select>
</p>
<p>
<select id="q2">
<option value="">Select...</option>
<option value="volvo">4</option>
<option value="saab">5</option>
<option value="opel">6</option>
</select>
</p>
<p>
<select id="q3">
<option value="">Select...</option>
<option value="volvo">7</option>
<option value="saab">8</option>
<option value="opel">9</option>
</select>
</p>
</body>
相关文章:
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- 角度引导选项卡ng如果错误
- 如果选项被禁用,则多个下拉菜单会导致FIREFOX出现问题
- 如果使用jquery在页面加载时未选择任何选项,如何禁用下拉列表
- 如果第一次选择中的选项1,则第二次选择被禁用
- jQuery折叠选项卡(如果选择相同)
- 如果选择了多个选项,则使用 jQuery 显示隐藏的表单元素
- jshint 错误:“EOL 转义错误.如果需要,请使用选项 multistr“,但 multistr 是正确的
- Jquery Resize问题.如果宽度小于768宽度,请启用“单击选项”.768以上鼠标悬停选项启用
- 使用jquery如何自动删除下拉列表中的第一个空白选项(如果它依赖于另一个选项)
- 如果sql查询成功,请打开一个新选项卡
- 如果不在第一个选项卡中,jQuery Accordion会缩小谷歌图表
- 使第二<选择>如果首先<选择>设置为某个选项
- 如果选择了某个值,jquery将禁用项选项
- 向选择框添加选项(如果尚未列出该选项)
- 如果选择框已在其他框中选中,则从该框中删除选项
- 检测打开新选项卡/窗口的原始选项卡(如果有)
- 如果选项值是“改变列表不起作用”;真的”;
- 如果用户更改下拉选择,jQuery将删除单选按钮/输入选项
- 禁用下拉列表中的其他选项(如果单击第一个选项)