2015-04-01 39 views
0

我有一個表單,我想將以前提交的數據放入正確的表單輸入。我有一個散列,其中鍵是表單輸入的id選擇器,值是該特定表單輸入的值。使用散列映射到jQuery的元素ID's

這是我的散列的樣子:

@saved_answers = {"123456"=>"Tom", "2345678"=>"Brady", "789456"=>"Football"} 

我通過這個哈希jQuery中使用與

# found in the view's script 
var form_saved_answers = '<%= @saved_answers.to_json %>'; 

現在,當我在JavaScript文件,我想找到用鍵輸入id並將該值放入輸入字段中。

這是我在哪裏卡住了,我已經想過使每個鍵/值對的數組和運行的各功能......但必須有一個更直接的方法......

任何想法?

+0

澄清,你想避免http://paste.ofcode.org/iVC7dWzFyFtzz8V5keAGAk? – 2015-04-01 14:58:45

+0

這是您嘗試創建的文本或選擇輸入字段嗎?換句話說,你是否需要在下拉菜單中顯示所有的值,或者只需填寫一個文本字段? – 2015-04-01 15:04:26

+0

@JakeShorty我認爲這將是我最大的問題......表格有text_fields,選擇和無線電....我想這個問題雖然...我更多隻是好奇你怎麼可以做到這一點一個text_field,然後擔心無線電和稍後選擇字段。 – mikeymurph77 2015-04-01 15:06:17

回答

0

做沒有'焦炭var form_saved_answers = <%= @saved_answers.to_json %>; 現在你可以做form_saved_answers['123456']如果key不是一個數字,你可以form_saved_answers.some_key

0

在js文件試試這個..

var parsed_json = JSON.parse(form_saved_answers); 
var val_of_key = parsed_json[key] 
0

一旦你散列解析成JSON,您可以鍵入JSON對象並將其作爲value屬性傳遞給表單輸入。作爲lisukorin說,如果你設置form_saved_answers再培訓局的結果,而不引號,然後你可以使用JSON像這樣在輸入:

myInput = '<input type="text" value="' + form_saved_answers[12345] +'">'

這將使你的基本版本具有您想要的值的HTML元素,可以按照您使用jQuery的需要進行操作。