【发布时间】:2014-12-30 02:37:32
【问题描述】:
我有一个带有一些下拉菜单的表单。我需要根据 id 值动态更改选择标签的选项。
例如,如果 id 为 1 选择标签选项应该是 cat,dog 如果 id=2 选择标签选项应该是苹果,香蕉
我将从 javascript 函数中动态获取 id。
<% @options = Test.function1(@id) %>
现在我需要为 select_tag 添加此选项。如果我直接在表单中使用这个@option,它会给出不同的输出。
在分析我是否可以添加从 javascript 中选择的选项后,我的问题就解决了。
由于一些问题,我无法发布完整的详细信息。
更新:
<% @options.each_with_index do|x,i|%>
var opt = document.createElement('option');
opt.value = '<%=i%>';
opt.innerHTML = '<%= x%>';
select.appendChild(opt);
<% end %>
我在 javascript 中使用上述代码将@options 附加到选择标签,但它没有附加
我使用相同的代码为 HTML 选择标记附加此选项,效果很好,但是当我使用相同的代码轨时,它没有附加。
【问题讨论】:
-
请解释总体目标/问题,因为这看起来像是一个 XY 问题。
-
在javascript中我调用了一个模型函数来获取选项,现在我需要添加这些选项来选择标签。从上面的代码中,我现在在@options 变量中获得了选项,我如何将其附加到rails 中的选择标签选项
-
我认为最好使用collection_select 从数据库中获取动态数据。
-
我认为您应该在选择标签中使用额外的属性,例如 data-category 并将所有选项存储在 js 变量中的数组中,并根据您的选择对该数组进行排序并将该数组添加到选择中。
标签: javascript jquery ruby-on-rails ruby-on-rails-3