对两个具有相同类别的选择框进行边栏,但一个值的选择不会显示在另一个选择框中
rails two select boxes with same category but selection of one value does not show in another
我得到了一个表单,其中包含来自同一类别模型的两个选择框。
<%= collection_select(:c, :id1, @categories, :id, :name) %>
<%= collection_select(:c, :id2, @categories, :id, :name) %>
现在有没有办法确保在任何实例中仅从任何一个选择框中选择一个类别。
例如,如果从第一个选择框中选择"书籍",则第二个选择框不显示"书籍"值,反之亦然,或者
如果从第二个选择框中选择"音乐",则第一个选择框的值中不显示"音乐",反之亦然。
也就是说,在任何情况下,类别的选择都是完全独特的。
我相信这需要 JavaScript 的帮助,但这可以在控制器中单独完成还是需要两者的组合?
如果需要,您可以在没有控制器的情况下执行此操作。 使jQuery更改功能,它将在第二个选择中隐藏当前选项。 请记住防止在选择中只有一个隐藏选项
例:
$("#c_id1").change(function(){
$("#c_id2 option:hidden").show();
if($(this).val().length ){
$("#c_id2 option[value=" + $(this).val() + "]").hide();
}
});
$("#c_id2").change(function(){
$("#c_id1 option:hidden").show();
if($(this).val().length ){
$("#c_id1 option[value=" + $(this).val() + "]").hide();
}
});
像这样的东西会起作用。好的将是重构这个。您应该添加提示以collection_select良好的工作,因为一开始没有此更改就具有相同的内容。
相关文章:
- 从a-z中随机选择一个字母
- AngularJS ng选项在选择一个选项后删除了默认的空白值
- 在下拉列表中选择一个选项的值
- 在类JavaScript选择的另一个元素中选择一个标记元素
- Jquery:当两个或多个条件为true时,选择一个元素
- 可以使用createRange选择一个空范围
- 选择一个元素,使其最近的具有特殊属性的父元素具有特殊值
- 使用 Jquery 选择一个 td 元素
- 当使用jQuery/Javascript选择一个多选时,如何使所有值都不被选中:
- 在一组复选框中,一次只允许选择一个
- 如何强制用户从下拉列表和按钮中选择一个值以启用保存按钮
- 从数组中选择一个变量
- 正在读取<p: 选择一个菜单/>在onchange回调中
- 在输入字段中选择一个值,然后用相应的数据填充另一个字段
- 如何以编程方式在 jsTree 中选择一个节点并打开所有父节点
- Asp.net 引导下拉菜单 - 选择一个项目
- 如何根据 jsp 中数据库中的值在下拉列表中选择一个值
- 通过硒选择一个javascript下拉列表
- 选择一个从 mysql 返回选中/未选中复选框的对象
- 如何在 PHP 中使用 OnChange 事件的下拉列表中选择一个选项后,对大量数据行设置分页