1

在 Ruby on Rails 中,我正在使用内联 RJS,并试图通过访问 selectedIndex 属性找出选择了哪个选择选项。由于某种原因无法使其正常工作。

因此,例如分配/更改 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 获取页面元素的值?

4

1 回答 1

2

RJS 只是一个 javascript 生成器,并且 javascript 在客户端之前不会被执行。因此,当您仍在 Ruby 中时,您无法确定 select 选项的值。

如果您想对所选值执行“if”语句,则需要在 Javascript 中执行。

page << "if ($('model_author_id').selectedIndex() == 0) {"
  page["model_author_id"].selectedIndex = 5 # or whatever you want here
page << "}"
于 2009-08-18T16:52:18.367 回答