我對javascript或coffeescript沒有特別的經驗,但我設法使用coffeescript和jQuery創建了一個簡單的函數。該功能用於突出顯示/顯示/隱藏組織賽事比賽的組織網站,以便它自動隱藏和取消選中不應選擇的比賽,並且一次只顯示一個未決定的比賽。該功能的工作原理完全符合所有,但一個警告:Coffeescript如果忽略代碼行
validate = ->
finished = true
$('.edit').find('.round').find('.match').each (m, match) ->
wins = {}
valid = true
$(match).find('.game').each (g, game) ->
if valid
$(game).show()
$(game).find('label').css('background-color', 'red')
checked = $(game).find(':checked')
if checked.length == 0
valid = false
else
winner = checked.attr('value')
if winner of wins
if ++wins[winner] == 2
valid = false
else
wins[winner] = 1
$('label[for=' + checked.attr('id') + ']').css('background-color', 'green')
else
$(game).find(':checked').prop('checked', false)
$(game).hide()
if finished
done = false
for p, w of wins
if w == 2
done = true
if not done
finished = false
if finished
$('input:submit').show()
else
$('input:submit').hide()
功能將拒絕工作,除非我寫的東西,什麼,後
if checked.length == 0
valid = false
在同一縮進作爲有效=虛假
我的意思是任何事情。我可以在那裏設置一個新的變量,它工作正常!
我已經搜尋過,試圖找出這是否是一些縮進錯誤,它只是忽略了這一行。我試過
valid = false if checked.length == 0
但我只是得到軌錯誤,因爲我之後,如果有一個else語句。請有人向我解釋發生了什麼事。
「拒絕工作」究竟意味着什麼?如果你使用'valid = false,如果checked.length == 0',你得到的確切錯誤信息是什麼? – 2014-09-24 17:36:40
兩件事。 1.「拒絕工作」是什麼意思?你的控制檯中有錯誤信息嗎?會發生什麼,而不是你所期望的? 2.你確定你沒有混合標籤和空格嗎?你必須注意這一點。大多數咖啡腳本是用2個空格縮進書寫的,所以我建議用兩個空格替換所有的標籤。 – 2014-09-24 17:36:50
@ muistooshort如果你不能掛一個後線。 – 2014-09-24 17:40:09