narrow_custs: ->
input = $('.narrow_custs')[0].value
$('.customers_go_here tr').each (index, ele) ->
if ele.cells[0].innerHTML.indexOf(input) < 0 and ele.cells[1].innerHTML.indexOf(input) < 0
$(ele).hide()
else
$(ele).show()
这个功能的第4行是丑陋的,我讨厌它。但它的确有效。如果有人能够证明这样做更优雅的方式,因为我确信这种方式存在,那就会膨胀。
input是文本框中的值。
$('.customers_go_here tr')
是一个表行的jQuery数组。
我需要知道输入值是否是每行第一个或第二个td中任何值的子字符串。
Wurd。
答案 0 :(得分:0)
您可以连接两个单元格的innerHTML,然后从字符串中查找输入的索引。它不应该有所作为,但在条件语句中看起来更好一些(以一条额外的行为代价):
narrow_custs: ->
input = $('.narrow_custs')[0].value
$('.customers_go_here tr').each (index, ele) ->
haystack = ele.cells[0].innerHTML + ' ' + ele.cells[1].innerHTML
if haystack.indexOf(input) < 0
$(ele).hide()
else
$(ele).show()
答案 1 :(得分:0)
我很想做这样的事情:
narrow_custs: ->
input = $('.narrow_custs').val() # returns the first value
all = $ '.customers_go_here tr' # the full set
show = all.filter (index, ele) -> # the matching ones
"#{$(ele.cells[0]).html()} #{$(ele.cells[1]).html()}".match input
hide = all.not show # the rest
do hide.hide # hide the rest
do show.show # show the matching ones