我正在尝试根据 rails 数据库值更改行的颜色。行内还有一个下拉菜单表格。在更改下拉表单中的选定值时,我通过表单提交将更改的值更新到数据库,然后调用 javascript 函数通过 AJAX 使用新值更改行颜色。
html.erb:
<%= f.select(:status, ["to call","didn't connect","confirmed","rejected"], {:selected => lead.status}, :onchange => %Q[$('#lead_form_#{lead.id}').submit();document.getElementById('lead_row_#{lead.id}').bgcolor=Application.getRowColour("#{lead.status}");]) %>
在上面的代码中,正在发生的事情是传递给 getRowColour 的 #{lead.status} 始终相同,即当我第一次加载页面时状态的初始值。所以有多少次我通过下拉菜单更改状态,getRowColour("") 不会改变。
页面来源:
$('#lead_form_133').submit();document.getElementById('lead_row_133').bgcolor=Application.getRowColour("confirmed");
可以看出 getRowColour() 采用一个常数值,而不是在每次调用时重新评估它。如何将我的最新状态参数发送到此功能?