У меня есть форму для добавления рецептов, в том же виде пользователь может добавить несколько ингредиентов рецептов. Каждый ингредиент, добавляемый пользователем, выполняется с помощью вызова ajax, поэтому мне не нужно отображать поле выбора ингредиентов. Когда пользователь пользователя выбрал это ингредиент идентификатор выбранного ингредиента хранится в скрытом вводеВыбор значения из поля выбора, когда параметры добавлены вызовом ajax
<%= 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 который запускается при загрузке страницы, он считывает значение в скрытом вводе и получает размеры обслуживания и добавляет его в качестве параметров в поле выбора. Мой вопрос: Как выбрать правильный вариант в поле выбора? У меня есть данные в столбце «serve_size_id», , но я не знаю, как получить его значение, поэтому я могу установить правильный выбранный элемент по значению.
Надеюсь, что я достаточно ясен в своем объяснении.
Прошу прощения, потому что я думаю, что, возможно, я выбрал неверный путь. Вопрос, который у меня есть, заключается в том, как мне получить значение из столбца «serve_size_id». Если я могу каким-то образом получить значение, я могу использовать jQuery для установки выбранного индекса. – iJK
Нет проблем, я немного изменил свой ответ. Надеюсь, теперь (подробнее) ясно? – Veger