Coffeescript:同一页面上的多个Select2字段

时间:2014-01-07 13:18:45

标签: coffeescript select2-rails

我正在尝试使用咖啡脚本在同一页面上运行多个Select2标记字段并失败:(

我从这开始;

$(document).on "ready page:load",(
  ->  $("#text_field_1").select2
        tags: ["A", "B", "C"]
  ->  $("#text_field_2").select2
        tags: ["1", "2", "3"]
)

没有喜悦:( 我现在就这样工作了;

text_field_1 = ->
  $("#text_field_1").select2
    tags: ["A", "B", "C"]
text_field_2 = ->
  $("#text_field_2").select2
    tags: ["1", "2", "3"]

$(document).ready(text_field_1)
$(document).on('page:load', text_field_1)
$(document).ready(text_field_2)
$(document).on('page:load', text_field_2)

但这并不是一个非常好的解决方案。任何人都可以提供任何替代方案或告诉我我做错了什么吗?

2 个答案:

答案 0 :(得分:0)

您没有正确使用->。你只是在一个你从不调用的匿名函数中包装每一行,然后传递两个

您只需要一个,直接传递给$(document).ready

$(document).ready ->
  $("#text_field_1").select2
    tags: ["A", "B", "C"]
  $("#text_field_2").select2
    tags: ["1", "2", "3"]

答案 1 :(得分:0)

这是基于微薄的建议。我发布的评论格式不是很好,所以这里又是;

text_field_1 = ->
  $("#text_field_1").select2
    tags: ["A", "B", "C"]
text_field_2 = ->
  $("#text_field_2").select2
    tags: ["1", "2", "3"]

$(document).ready ->
  text_field_1()
  text_field_2()
$(document).on 'page:load', ->
  text_field_1()
  text_field_2()

由于