【发布时间】:2010-02-04 02:09:28
【问题描述】:
我有一个添加食谱的表单,用户可以在同一个表单中添加多个食谱成分。用户添加的每种成分都是通过 ajax 调用完成的,这样我就不必显示选择的成分框。当用户选择一种成分时,所选成分的 id 存储在隐藏的输入中
<%= builder.hidden_field :ingredient_id %></div>
当用户从列表中选择一种成分时,会触发一个 ajax 调用来填充另一个选择框,该框显示基于该成分的所有份量。当我添加新食谱时,这个设置非常有效。
我在编辑模式下打开现有配方时遇到问题...
我有以下html
<%= builder.hidden_field :ingredient_id %>
<%= builder.select(:serving_size_id, '') %>
jQuery 代码
jQuery.fn.bindServingSizes = function(ingredientid) {
var $this = $(this);
$.getJSON("/serving_sizes?ingredientid=" + ingredientid, function(j) {
var options = "<option value=''>Please select a serving size</option>";
for (var i=0; i < j.length; i++)
options += '<option value="' + j[i].serving_size.id + '">' + j[i].serving_size.name + '</option>';
$this.html(options);
});
};
我有一个 ajax 调用,它在页面加载时运行,它读取隐藏输入中的值并获取份量并将其作为选项添加到选择框。 我的问题:如何在选择框中选择正确的选项?我在“serving_size_id”列中有数据,但我不知道如何获取它的值,因此我可以按值设置正确的选定项。
我希望我的解释足够清楚。
【问题讨论】:
标签: ruby-on-rails