如何基于前一字段中的选择填充字段?
问题描述:
在我们设计的形式中,我们有一个“States”字段,允许其用户一次选择多个状态。有一个“城市”字段应按照“州”字段中的选择填写。如果只选择一个状态,则“城市”字段中的值正确填充。但是,选择多个状态时,它不能正确显示。如何基于前一字段中的选择填充字段?
请为此建议一个Ruby解决方案。
答
问题是您的observe_field
中的:with
表达式。 document.getElementById('usa_states_').value
只会返回一个值而不是所有选定的值。
我不确定是否有办法在Rails中自动处理这个问题,但一种解决方案是编写一个JavaScript函数,它将构建一串由逗号分隔的所有选定值的字符串。例如
,然后更新:with
是这样的:
:with => "'state='+selectedValuesAsString(document.getElementById('usa_states_')"
,最后分割你的控制器动作中的值。
+0
Thanx伙计它的工作原理。太感谢了。 – Aditya 2009-09-18 05:09:21
请发布您的代码到目前为止。 – mikej 2009-09-16 07:44:10
以下是美国州代码 true,:class =>“multi_select “%> 我使用观察字段(AJAX)观察选择哪种状态 {:controller =>”logins“,:action =>'deliverrable_cities',:id =>'1'},::update =>'deliverrable_city',:with =>''state ='+ document.getElementById('usa_states _')。value +'&type = restaurant'“,:on =>'click'% > 选择哪个州将在城市选择列表中显示该州的所有城市 – Aditya 2009-09-16 08:13:11
当我仅选择一个州时,此工作正常。但是当我选择多个状态时,我只能通过ajax获得一个值,因此只能得到那个单一状态的城市。 – Aditya 2009-09-16 08:13:49