已连接的选择标记
Connected select tags
我在一个页面上有几个选择标签,按 3 分组。我希望每个组 3 共享相同的选项列表,如果用户在第一个框中选择"瑞典",则"瑞典"将从第二个框的选项中删除。但这是棘手的部分,如果用户决定再次更改第一个框以说"英格兰",那么"瑞典"将回到第二个选择框的列表中。听起来很模糊?我的代码设法从下一个框中删除一个国家/地区,但随后它被永久删除,而且更改现在仅影响最接近的选择标签。我想更改该组中所有 4 个选择标签的内容。这是我的代码,请指出我正确的方向:
<div id="group1">
<div>
<select>
<option value="France">France</option>
<option value="Sweden">Sweden</option>
<option value="England">England</option>
<option value="Germany">Germany</option>
<option value="USA">USA</option>
</select>
</div>
<div>
<select>
<option value="France">France</option>
<option value="Sweden">Sweden</option>
<option value="England">England</option>
<option value="Germany">Germany</option>
<option value="USA">USA</option>
</select>
</div>
<div>
<select>
<option value="France">France</option>
<option value="Sweden">Sweden</option>
<option value="England">England</option>
<option value="Germany">Germany</option>
<option value="USA">USA</option>
</select>
</div>
</div>
<div id="group2">
<div>
<select>
<option value="France">France</option>
<option value="Sweden">Sweden</option>
<option value="England">England</option>
<option value="Germany">Germany</option>
<option value="USA">USA</option>
</select>
</div>
<div>
<select>
<option value="France">France</option>
<option value="Sweden">Sweden</option>
<option value="England">England</option>
<option value="Germany">Germany</option>
<option value="USA">USA</option>
</select>
</div>
<div>
<select>
<option value="France">France</option>
<option value="Sweden">Sweden</option>
<option value="England">England</option>
<option value="Germany">Germany</option>
<option value="USA">USA</option>
</select>
</div>
</div>
$("select").change(function(){
var value = $(this).val();
$(this).closest('div').next('div').find("option").removeClass('hide');
$(this).closest('div').next('div').find("option[value='"+value+"']").addClass('hide');
});
更新:JSFiddle
在你的
CSS中添加一个类
.hide{display:none;}
之后更新您的脚本函数
$(this).closest('div').next('div').find("option").removeClass('hide');
$(this).closest('div').next('div').find("option[value='"+value+"']").addClass('hide');
在你的代码中,你使用.remove()
从DOM中删除元素如果您再次需要该元素,请将该元素保存在 DOM 中。
我希望它能帮助你。
相关文章:
- JavaScript连接多个下拉选择
- 连接变量 + 选择器
- 从另一个选择框并使用数据库连接填充选择框
- 链接下拉列表选择列表代码 -- 连接数据
- 选择选项时关闭多个 WebSockets 连接
- 使用 javascript 库 draw2d 选择连接链接不准确
- 在 d3.js 中填充已连接节点的选择列表
- 警告:失败的 propType:在“维度选取器”中未指定所需的属性“维度名称”.检查“连接(维度选择器)”的渲染方法
- Angularjs.如何使用选择框连接表单中的字段.更改选择应更改字段
- 字符串和变量连接作为jQuery选择器不起作用.可能的原因是关闭
- 制作两个连接的选择字段非常丑陋,我做错了什么
- 尝试将动态创建的带有选项的选择元素(标记)连接到动态创建的表行
- 将选择菜单连接成单个表单输入
- MongoDB选择和连接字段
- 已连接的选择标记
- 在我选择的方法在JavaScript中完成执行后,我该如何将事件连接到触发器
- jQuery UI可在连接的可排序列表中选择
- 如何在CoffeeScript中为一个选择器连接两个函数
- 如何使用连接操作查询添加日期选择器代码
- 无法获取d3.js数据.选择线路时连接和键功能工作