如何根据以前字段中的选择填充字段?
-
07-07-2019 - |
题
在我们设计的形式中,我们有一个“状态”。允许其用户一次选择多个状态的字段。有一个“城市”应根据“状态”中的选择填充的字段。领域。 “城市”中的值如果仅选择一个状态,则会正确填充字段。但是,当选择多个状态时,它无法正确显示。
请为此推荐Ruby解决方案。
解决方案
问题是 observe_field
中的:with
表达式。 document.getElementById('usa_states _')。value
只返回一个值而不是所有选定的值。
我不确定是否有办法在Rails中自动处理这个问题,但一种解决方案是编写一个JavaScript函数,它将构建一个由逗号分隔的所有选定值的字符串。 e.g。
function selectedValuesAsString(multiselect) {
selectedValues = new Array();
for (i = 0; i < multiselect.length; i++) {
if (multiselect[i].selected) {
selectedValues.push(multiselect[i].value);
}
}
return selectedValues.join();
}
然后将:with
更新为:
:with => "'state='+selectedValuesAsString(document.getElementById('usa_states_')"
然后最终拆分控制器操作中的值。
不隶属于 StackOverflow