使用collection_select时无响应的javascript?

时间:2016-01-17 16:38:34

标签: javascript html ruby-on-rails

我刚开始学习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值不起作用?我在这里错过了什么吗?

1 个答案:

答案 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)" }