咖啡脚本语法问题

时间:2013-03-21 18:52:38

标签: coffeescript

这个咖啡脚本有什么问题吗?它在这个小提琴上工作得很好

http://jsfiddle.net/Dtwigs/ThnKc/2/

但是当我尝试将其转换为咖啡脚本时,它似乎不想工作

$(document).on "change", "#print_size_options_LargeFormatBlackWhite", (event) ->
  selected = undefined
  index = undefined
  selected = $(this).val()
  index = $("select").index(this)
  if selected is "customSize"
    $($(".custom_size")[index]).fadeIn()
  else
    $($(".custom_size")[index]).fadeOut()

2 个答案:

答案 0 :(得分:1)

你的小提琴有一些问题。

  1. 您对多个元素使用相同的ID - 您应该将其设为一个类。

  2. 您正在将更改事件添加到文档中,最好将其添加到更精确的选择器,即选择。

  3. 如果您首先要在JS中编写它,那么使用CoffeeScript转换器并没有太大的收获。

  4. 我已经修复了小提琴的一些问题,并对其进行了更新here

    新的CoffeeScript如下所示:

    $(".print_size_options_LargeFormatBlackWhite").change ->
      selected = $(this).val()
      index = $("select").index this
      func = if selected is ".custom_size" then 'fadeIn' else 'fadeOut'
      $($('.custom_size')[index])[func]()
    

答案 1 :(得分:0)

我能看到的唯一区别就是你在小提琴上写(事件)时(evt)。

您是否考虑使用http://js2coffee.org/进行转化?