2012-08-27 3 views
0

내 레일 애플리케이션에 모델 (사용자가 다른 국가를 선택할 수 있음)에서 생성 된 선택 태그가 있습니다. 사용자가 다른 옵션을 선택할 때 동일한보기에서 찾을 수있는 text_field (국가 전화 코드 용) 값을 업데이트하고 싶습니다. 사용자가 선택한 옵션 (국가)에 따라 모델에서 text_field에 배치해야하는 값 (country_code)을 추출해야합니다. 나는 이것에 대해 몇 가지 다른 방법을 시도했지만 나는 붙어있는 것처럼 보입니다. 도와주세요.html 선택/옵션이 변경되면 입력 필드를 업데이트해야합니다.

View: 
    <%= f.label :country %> 
    <%= select("user", :country, Country.all.collect{ |c| c[0] }, {prompt: "-- Select Country --"})%> 

    <%= f.text_field :country_code, size: 4, readonly: true %> 

나는 국가 이름에 따라 국가 코드를 얻을 수 있습니다.

country_code = Country.find_country_by_name('united states').country_code 

업데이트 : 나는 다음과 같은 자바 스크립트를 사용하려하지만 난 찾고 있어요 값을 추출하는 방법을 잘 모르겠습니다 :

Javascript: 
    $ -> 
    $("select#user_country").change -> 
    $("input#user_country_code").val(MISSING VALUE) 

답변

1

당신은 자바 스크립트를 사용하여이 작업을 수행 할 수 있습니다. 선택 필드가 변경 될 때 바인드 할 함수를 작성하십시오. 그런 다음 양식에 적용하려는 변경 사항에 응답하는 API 호출을 앱에서 작성하십시오.

+0

구현하려고했지만 country_code를 가져 와서 text_field에 배치하지 못했습니다. 좀 더 구체적으로 내 질문을 업데이트하겠습니다. –

+0

도와 주셔서 감사합니다. –

+0

다음과 같이 시도하십시오 var country_code = $ ('# country_code'). val(); ...... $ ('# text_field') .Val (country_code); – YaBoyQuy

1

선택자에 중괄호 (})가 추가로 있습니다. 내가 생각하는 커피 스크립트 구문에 대해서는 잘 모르겠다.

$("select#user_country}") 
+0

고맙습니다. 고맙습니다. –

관련 문제