Noob здесь, поэтому я заранее извиняюсь за звучание, как любитель. Я пытаюсь закодировать сайт электронной коммерции. Клиенты заказывают плакаты с изображений, загруженных на сайт, и выбирают размер плаката (h x w), который они хотят, в зависимости от размеров исходного изображения. У меня есть форма для создания нового порядка, и одно из полей - это поле выбора с параметрами размера плаката. Когда они выбирают размер, я хочу, чтобы цена автоматически обновлялась в отдельном поле в форме, чтобы они знали, прежде чем отправлять форму, какая цена будет.Rails: Сделать каждый выбор в поле выбора формы, сделать соответствующий ввод в другом поле формы
Стратегия, которую я пытаюсь добавить, добавить код jQuery onclick в поле выбора выбора. Вот что я имею в виду (только с указанием первого выбора в поле выбора для краткости):
<%= form_for(@order) do |f| %>
<div id="order_form">
<div class="field">
<%= f.label(:size) %><br>
<%= f.select(:size, [link_to("#{@image.dimensions['width']/120} * #{@image.dimensions['height']/120}", '#', :onclick => "showPrice('#{@image.dimensions['width']/120} * #{@image.dimensions['height']/120}'); return true;"), ... ]) %>
</div>
<div class="field">
<%= f.label(:price) %><br>
<%= f.text_field :price, :id => 'price' %>
</div>
</div>
И в активах> JavaScripts> application.js мой JQuery код:
function showPrice(size) {
$("#price").html("$" + size * 0.08);
}
Пришло не работает, и я не знаю, не будет ли то, что я пытаюсь сделать, или если я просто делаю это неправильно.
Заранее благодарим за любую помощь.
Привет и добро пожаловать к переполнению стека. Вы получаете какие-либо ошибки в консоли javascript? что может помочь нам сузить то, что идет не так ... Вы пробовали жестко кодировать опции выбора только манекен-значения, чтобы определить, нарушает ли ваш html/js (в отличие от рельсовых вещей)? –
У меня нет ошибок. В браузере поле выбора размера показывает 19 * 29 "> 19 * 29 (для изображения с размерами 2280 x 3480) и ничего в поле цены, где оно должно показывать 19 * 29 и 44,08 долларов в поле цены, так что кажется как проблема заключается в попытке вставить jQuery в избранные варианты ... –
Как, буквально: '19 * 29"> 19 * 29'? похоже, что это путается между текстом и значением как-то - это может произойти, если есть опечатка, вызывающая неправильную завершенную строку где-то или подобное. Вот почему тест фиктивных значений может помочь вам ... если он работает с фиктивными значениями, жестко закодированными, но не работает, когда вы пытаетесь динамически отображать параметры ... тогда вы знаете, что это то, динамически их рендеринг, а не в логике, которая работает с параметрами, когда они находятся на месте. :) (методы отладки!) –