我刚开始学习rails,html和javascript。我正在使用collection_select来允许用户选择数据库中的其他用户:
<%= f.collection_select :id, Customer.where(business_id: current_customer.business_id), :id, :full_name, :prompt => 'Select', :html => { :id => "colleageselect", :onChange => "renderColCal(this)"} %>
<div id = colleaguecal> </div>
我刚刚尝试使用javascript:
来测试onChange是否有效<script type = "text/javascript">
function renderColCal(select){
alert('this is a test' + select.valueOf() );
document.getElementById("colleaguecal").innerHTML = "foo"
}
</script>
但是在运行页面时更改collection_select
值不起作用?我在这里错过了什么吗?
答案 0 :(得分:2)
检查生成的html是否符合您的预期。我没有看到js的任何问题,尽管如果它是不显眼的会更好。唯一可能导致您的问题的是您没有将哈希传递给html选项。尝试
f.collection_select :id,
Customer.where(business_id: current_customer.business_id),
:id,
:full_name,
{ prompt: 'Select' },
{ id: "colleageselect", onChange: "renderColCal(this)" }