2016-07-28 25 views
0

如何通過data-id屬性獲得hidden_field_tag的值?如何使用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 

我不知道與軌道hidden_field_tag寫這篇文章的正確方法。

回答

0

它您還沒有提供一個名字你hidden_field_tag

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

訪問按照documentation

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

厄爾布:

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

Js:

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

謝謝。你有一個錯字。刪除最後一個逗號;) – Sylar

0

你的元素是錯誤的輸出,存在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(); 
+0

嗨。我需要html.erb語法。 – Sylar

0

使用數據ID這樣

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