2013-07-02 53 views
0

人們如何從javascript中檢查表格的值。我在軌道上使用紅寶石。我這樣做:ruby​​ on rails:檢查javascript值表

$(document).ready(function() { 
    if ("<%= @player.name %>" == "") { 
    //show some divs 
    } 
}); 

但它不起作用。即使玩家的名字是空的,divs也不會顯示。 我想檢查玩家的名字是否爲空,那麼它應該顯示一些div。 謝謝。

+1

['escape_javascript'](http://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#method-i-escape_javascript)? – elclanrs

+0

你想介紹一下嗎? – ishwr

回答

1

第一個問題是您正在使用<%而不是<%=。其次,假設@player.namejohn那麼你的JavaScript代碼將是:

$(document).ready(function() { 
    if (john == "") { 
    //show some divs 
    } 
}); 

看這個問題?你的@player.name將被視爲一個JavaScript變量(不存在),而不是字符串。

最後,如果你的@player.name應該包含一個雙引號,你的javascript將被再次打破,所以你必須用escape_javascript來逃避它。

解決方案:

$(document).ready(function() { 
    if ("<%= j @player.name %>" == "") { 
    //show some divs 
    } 
}); 
+0

對不起,我的錯誤。我確實引用了<%@ player.name%>。我將編輯我的問題 – ishwr

+0

@takodil請看其他評論。這個答案仍然可以解決你的問題。 – Mischa

+0

是的,我已經試過了。 div仍然沒有顯示,但是當我用警報嘗試它時,它工作。所以我認爲,那是另一個錯誤。感謝您的回答:-) – ishwr