论坛首页 编程语言技术论坛

rails rjs select method help

浏览 2012 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-02  
在一个页面中,有两个text field。里面可以输入数字,然后在边上显示两个texi field里面数字的和。

我的方法大概是这样的。用两个observe field,来观察text field的值,一旦改变就在页面上取得两个text field的值。加在一起之后update 结果。

用的是rjs.

view的代码是:
<%= text_field 'field', "01",:class=>'sum', :value=>0 %>
<%= text_field 'field', "02",:class=>'sum', :value=>0 %>
<div id='result'>0</div>

<%= observe_field("field_01",
                  :frequency => 1,
                  :with => "num_1",
                  :url => {:action =>'sum'})%>

<%= observe_field("field_02",
                  :frequency => 1,
                  :with => "num_2",
                  :url => {:action =>'sum'})%>


controller 代码为空
def sum
end


rjs 代码

#result = 0
page.select("input.sum").each do |ob|
  # result += ob 
  page.alert(ob) #问题在这里
end
page.replace_html 'result', result


问题是那个在page.select 里面得到 ob 其实是个 HtmlInputElement object.
而且没有其他任何属性,也就是说得不到它的值。
ob.value就会报错。not a valid function.

其实就是计算两个数的加和。应该在用javascript就可以搞定吧。
奇怪的就是感觉用rjs也能行。但是为什么只能得到object却没有任何其他属性呢?


论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics