2016-05-16 5 views
0

Как получить значение выбранного элемента. И сохраните его в переменной для отображения в промежутке. Я попытался сохранить непосредственно в базе данных. База данных также не сохраняет выбранное значение.Выбранные значения radio_button rails

... 
<%= f.collection_radio_buttons(:route_id, Route.all, :id, :time_trip, {}, {name: "timeselect", class: "timeselect"}) %> 
... 
<span id="timevalue"></span> 

Jquery

(document).ready(function() { 

$('input[name="timeselect"]:radio').change(function(){ 

     var str3=""; 
     $('input[name="timeselect"]:checked').val(); 
      str3 += $(this).text() + "\n"; 

     $("#timevalue").text(); 
    }); 
}); 

ответ

0

Переопределение вариант названия просто чтобы быть в состоянии выбрать не очень хорошая идея, так как это будет влиять на параметры.

В Rails, когда вы используете форму строитель:

<%= form_for(Foo.new) %> 
    <%= f.collection_radio_buttons(:route_id, Route.all, :id, :time_trip, {}, { class: "timeselect" }) %> 
<% end %> 

Это даст вам следующее PARAMS хеш:

foo: { 
    route_id: 1 
} 

ключ «корень», выведенный путем вызова .model_name от модели привязать к построителю формы.

Эти Титулы могут быть просто белый список сильных параметров:

params.require(:foo).permit(:route_id) 

Вы можете выбрать элемент с помощью:

$('input[name="foo[route_id]"]') 

Или по идентификатору - самый простой способ проверить каждый либо смотрит на вывода HTML или с помощью инспектора браузера. .

+0

база данных сохраняет, но '$ ('ввода [имя = "заказы [route_id]"]: радио') изменить (функция() { вар Str3 = ""; $ ('вход [имя = "orders [route_id]"]: checked '). val(); str3 + = $ (this) .text() + "\ n"; $ ("# timevalue"). text (str3) }); 'не работает – Helga