1
在Ruby on Rails中,我正在使用內聯RJS並試圖找出通過訪問selectedIndex屬性選擇了哪個選擇選項。出於某種原因無法使這個工作。在RJS中訪問元素的值
因此,例如分配/改變selectedIndex屬性的偉大工程:
page['model_author_id'].selectedIndex = 5
但是看完它,做RJS內比較不起作用:
if page['model_author_id'].selectedIndex == 0 then xxx end
我做了調試在Firebug中,似乎RJS生成以下(不正確)代碼 -
$("model_author_id").selectedIndex().= = 0;
所以,問題是 - 我如何獲得使用RJS的頁面元素的值?
非常感謝ryanb的回答,出於某種原因,我在Rails的書籍和論壇上找不到這個答案。實際上,我認爲像我這樣的RJS新手的困難在於差異是非常微妙的 - 是的,RJS是一個JavaScript生成器,但爲什麼它不能爲你生成條件/等等,將Ruby轉換成JS? – Vlad 2009-08-18 17:11:36
這是Ruby語言的限制。 「=」運算符是一種方法,行爲可以被覆蓋,但「if」行爲不能。如果您對JavaScript感到滿意,那麼我建議不要使用RJS。相反,只需將javascript和erb直接混合(使用像index.js.erb這樣的視圖文件)。 – ryanb 2009-08-18 17:16:46