Флажок показывает, какие элементы выбраны на странице - PullRequest
0 голосов
/ 22 февраля 2019

На моей странице пользователь может выбрать несколько элементов.Я использую флажок и перебираю все элементы пользователя.Теперь я хочу показать пользователю общую стоимость всех товаров, которые он выбрал на этой странице.Так сказать, общая стоимость корзины.

Как я могу получить доступ к идентификаторам своих товаров на той же странице, на которой пользователь нажимает на них?Я знаю, что в контроллере я могу получить к ним доступ

Item.find(params[:items])

Заранее большое спасибо:)

1 Ответ

0 голосов
/ 22 февраля 2019

Вам нужно будет сделать это через Javascript.

Один из способов - сохранить идентификатор в тегах data вашего HTML-элемента (в данном случае checkbox)

Тогда вы можете получить это значение в вашем обратном вызове Javascript как

element.getAttribute('data-type');

или если вы используете jQuery

$(this).data("id")

Теперь вам нужно будет получить доступ к значениюпредмет (индивидуальная цена за предмет с выбранным идентификатором), а также в Javascript.Это можно сделать, сохранив отображение идентификатора и цены в переменной js

let prices = <%= @items.select(:id, :price).to_json %>;

или, альтернативно, вы можете просто сохранить цену в атрибуте данных каждого флажка и использовать это значение для обновленияобщая выбранная цена.

...