2016-07-13 4 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"%>' Jquery를 사용하여이 ID에 값을 할당하면 데이터를 데이터베이스로 내보냈습니다. 고맙습니다! – lilixiaocc

관련 문제