2016-07-13 17 views
0

私はhtml.erbページを作成しています。 HTML要素属性をレール入力として使用する

は私のスパンのいくつかの動的な属性を持つ

HTML:

<span>something<span> 

のjQuery:

$('span').attr('data-x', function(){}) 

ルビー:

<%= form_for @blah do |f| %> 
<%= f.hidden_field :x_value, value: ?? %> 
<% end %> 

したがって、基本的スパン属性のデータ - x 'はchボタンをクリックすると、 'data-x'属性の値をフォームヘルパーによってデータベースの列 "x_value"に送信したいと考えています。

どうすればいいですか?ありがとうございました!

Infからアイデアを得た後、私はこの部分を手に入れました。 私のjsファイル内の属性の値を取得:

var valueX = $('span').attr('data-x')

は私のERBファイルに隠しフィールドのためのIDを追加します。

<%= f.hidden_field :x_value, :id=>"columnX" %>

その後、私の中でvalueXでIDを割り当てますJSファイル:

$("#columnX").val(valueX)

+1

はSOへようこそ。試行された解決策、失敗した理由、および予想される結果を含めてください。それは本当にあなたのコードの問題を理解するのに役立ちます。また、チェックアウト:[最小、完全、および検証可能なサンプルを作成する方法](http://stackoverflow.com/help/mcve)ありがとう! –

+0

データxが変更されたときにも、非表示のフィールド値を変更します。 –

+0

はい、これが私の望むものです。ボタンをクリックすると変更が確定します – lilixiaocc

答えて

0

オプション1.あなたはuができますフォーム上pdate隠しフィールドには、例えば、提出:

$('form').submit(function() { 
    $('input[type="hidden"]').val($('span').attr('data-x')); 
    return true; 
}); 

オプション2.アップデート隠しフィールドを一緒にスパンで:

var value = function(){}; 
$('span').attr('data-x', value); 
$('input[type="hidden"]').val(value); 
+0

はい、これがうまくいきます。この '<%= f.hidden_​​field:x_value、:id =>" hiddenX "%>' を使用し、このIDに値を割り当てるためにJqueryを使用し、データをデータベースにエクスポートしました。ありがとうございました! – lilixiaocc

関連する問題