簡體   English   中英

將ruby變量傳遞給javascript(Ruby on Rails)

[英]passing ruby variables to javascript (Ruby on Rails)

我有一份葯物清單和一份疫苗清單,我分別從葯品和疫苗中提取。 葯物清單的格式為medicine_name,疫苗清單也是如此。 我使用這段代碼將這兩個存儲在變量中。

var injections=<%=@injections%>;
var medicines=<%=@medicines%>;

在我看來,我有葯物和注射的選擇標簽,但是當我嘗試使用以下代碼將這些變量附加到相應的標簽時。 我沒有得到任何結果請幫忙

$('.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>
var injections= '<%=@injections%>';
var medicines='<%=@medicines%>';

你可以使用Rails helper 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 %>;

你錯過了{在第一個功能之后

應該:

$('.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);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM