如何使用数据id从hidden_field_tag中获取值

How to get value from a hidden_field_tag using data-id?

本文关键字:field tag 获取 hidden 何使用 数据 id      更新时间:2023-09-26

如何获得具有data-id属性的hidden_field_tag的值?

html.erb

<%= hidden_field_tag "data-id" => 'cart-total', "value" => "#{total}" %>
#=> <input type="hidden" name="{"data-id"=>"cart-total", "value=>"1"}" id="__data-id__cart-total___value___1__">

JavaScript

var cartTotal = $("[data-id=cart-total]").val();
console.log(cartTotal); // undefined

我不知道用rails hidden_field_tag写这篇文章的正确方法。

根据文档:

hidden_field_tag(name, value = nil, options = {})

Erb:

<%= hidden_field_tag :hidden, total, "data-id" => 'cart-total' %>

Js:

$("[data-id='cart-total']").val();

输出中的元素错误,name:中有一个对象

<input type="hidden" name="{"data-id"=>"cart-total", "value=>"1"}" id="__data-id__cart-total___value___1__">

我认为它应该是这样的(我不使用铁轨):

<%= hidden_field_tag "hidden", total, "data-id" => "cart-total" %>

然后你应该至少为基本元素或其他东西使用一个更好的选择器:

var cartTotal = $("input[data-id=cart-total]").val();

您尚未为hidden_field_tag 提供名称

<%= hidden_field_tag :field_name, "value" => "#{total}", "data-id" => 'cart-total', %>

使用类似的数据id访问它

var cartTotal = $("[data-id='cart-total']").val();