2013-07-08 86 views
3

我有一份藥物清單和我從表格藥物和疫苗接種中分別提取的疫苗列表。藥品清單的格式爲medicine_name,疫苗清單也是如此。我使用這段代碼將這兩個存儲在變量中。將ruby變量傳遞給javascript(Ruby on Rails)

var injections=<%[email protected]%>; 
var medicines=<%[email protected]%>; 

在我看來,我有藥品和注射劑選擇的標籤,但是當我嘗試使用下面的代碼追加這些瓦爾到相應的標籤。我沒有得到任何結果,請幫助

$('.addmedicines').click(function() 
    $('.medicines').append(medicines); 


}); 
$('.addinjections').click(function(){ 
    $('.injections').append(injections); 
}); 

這裏.injections是分配給選擇標籤接種疫苗類。 .medicines是指定用於選擇藥物標籤的類別。 .addmedicines和.addinjections是html按鈕。

編輯:

當我試圖同時顯示注射和藥品中的JavaScript他們像這樣顯示:

藥物:

<option>Med1</option><option>Med2</option><option>Med3</option><option>Med4</option> 

注射:

<option>i1</option><option>i2</option><option>i3</option><option>i4</option> 
+0

您是否試圖在點擊時將選項添加到這些選擇標記'.addmedicines'和'.addinjections'? –

+0

你可以在這裏發佈選擇標記標記嗎? –

+0

[在ruby視圖中將ruby變量傳遞給javascript函數](http://stackoverflow.com/questions/2464966/passing-ruby-variables-to-javascript-function-in-rails-view) –

回答

0

您可以使用Rails的助手array_or_string_for_javascript,或者只是簡單地調用to_json

var injections = <%= array_or_string_for_javascript(@injections) %>; 
var medicines = <%= array_or_string_for_javascript(@medicines) %>; 

// OR 

var injections = <%= @injections.to_json %>; 
var medicines = <%= @medicines.to_json %>; 
+0

'array_or_string_for_javascript'已棄用。 –

0

你是第一個功能之後缺少{

應該是:

$('.addmedicines').click(function(){ // <-- right here :) 
    $('.medicines').append(medicines); 


}); 
$('.addinjections').click(function(){ 
    $('.injections').append(injections); 
}); 

你有什麼:

$('.addmedicines').click(function() // <-- right here :) 
    $('.medicines').append(medicines); 


}); 
$('.addinjections').click(function(){ 
    $('.injections').append(injections); 
}); 
相關問題