我正在尝试添加onchange处理程序以查看当前选择了哪个选项并将其放入文件中。 我怎么能这样做?
<select id="subtable" name="subtable" size="20" style="width: 400px">
<%= options_from_collection_for_select(@hauses, 'id', 'timebuild', @hauses.first.id), {}, {:onchange => catch()} ) %>
</select>
控制器就是这个
def index
@hauses = Hauses.find(:all)
end
def catch
@hs = Hauses.find(params[:hauses_id])
file = File.new("catch.txt","ab")
file.puts(@hs)
file.close
end
它显示未定义方法`catch'的错误
感谢您提供任何指导
答案 0 :(得分:0)
catch
的原因。onchange
属性中的Javascript代码。Onchange将在浏览器中执行,因此如果您想在用户更改select字段的值时调用操作“catch”,那么您必须创建一个AJAX调用来执行此操作。请参阅AJAX on Rails以帮助您入门。
另外,onchange
属性必须包含在select-tag中,而不是选项中。