如果“上一个”为空,则清除下一个嵌套的选择标记
Clear next nested select tags if previous is empty
我遇到了以下问题-我得到了几个相互依赖的嵌套选择输入。我正试图产生以下效果-如果我选择"选择"选项,那么以下所有选择标签都将被清除
HTML:
<fieldset>
<legend>Dwelling</legend>
<p>
<span>Continet:</span> <select class="dwelling" name="continent" id="continent" onchange="getplaces(this.value,'country',this);"></select>
</p>
<p>
<span>Country:</span> <select class="dwelling" name="country" id="country" onchange="getplaces(this.value,'province',this);"></select>
</p>
<p>
<span>State / Provice:</span> <select class="dwelling" name="province" id="province" onchange="getplaces(this.value,'region',this);"></select>
</p>
<p>
<span>County / Region:</span> <select class="dwelling" name="region" id="region" onchange="getplaces(this.value,'city',this);"></select>
</p>
<p>
<span>City:</span> <select class="dwelling" name="city" id="city"></select>
</p>
</fieldset>
JavaScript:
我试过了,但没有效果,我想我已经没有办法了。
function getplaces(val,src,t)
{
if(val!= "choose"){
//fetching dependent records + one option on top with "choose" value
}else{
$(t).closest('fieldset').nextAll(".dwelling").html("");
}
}
编辑:感谢大家的快速回复,但也许我把问题表述错了。我想只清除带有"选择"选项的标签之后的下一个选择标签,这样所有位于它之前的标签都不会受到影响。
您需要针对下一个p
元素中的所有select
元素
function getplaces(val, src, t) {
if (val != "choose") {
//fetching dependent records + one option on top with "choose" value
} else {
$(t).closest('p').nextAll().find('select.dwelling').empty();
}
}
演示:Fiddle
我猜这正是您想要从下拉列表中删除的选项。
$(t).closest('fieldset').find(".dwelling option").remove();
相关文章:
- 如何从上面的嵌套函数返回
- 每行中都有一个嵌套表的数据表
- 如果“上一个”为空,则清除下一个嵌套的选择标记
- 在每个循环中的表单上使用嵌套资源和html类Rails Ajax
- 筛选客户端上的嵌套对象
- 在 ember 上复制嵌套模型.js(成功保存后)
- 如何将嵌套模型与骨干表单列表一起使用?我想用自定义模板制作一个嵌套模型
- MongoDB/Mongoose:MarkModified一个嵌套对象
- 触发引导程序 3 上的嵌套选项卡窗格
- Ember路由从一个嵌套对象转换到另一个
- 如何在特定节点上装载嵌套的react组件
- Jquery以查找最后一个嵌套元素
- 如何使用Angular js把一个嵌套对象放入数据库中?
- 如何选择一个嵌套在td、类名和id名中的输入?
- 编写一个嵌套的for循环
- 对象赋值上的嵌套解构
- JS搜索通过一个嵌套的JSON结构,深度增加随着时间的推移
- Angularjs,等待一个嵌套的承诺
- 如何使用ExtJS读取一个嵌套的json文件
- 访问一个嵌套在一个带有聚合物的对象中的数组中的一个对象的值