我有一个主干JS应用程序,它在UI上有一个选择,如下所示:
(模板用翡翠写成)
select.color
option(value='-1') --select color--
option(value='0') red
option(value='1') blue
应用程序是这样的:
events:
'change .color': 'changeColor'
changeColor: () ->
idx = $(@el).find('.color').val()
color = $(@el).find('.color').filter(idx).text()
alert("Color is : #{idx}:#{color}")
然而,当我运行它时,它只打印出正确的idx但没有文本。我试图使用$(@el).find('.color').filter(':selected').text()
直接,它也不会工作。有人可以帮忙吗?
答案 0 :(得分:0)
您希望使用.find()而不是.filter(),因为过滤器会过滤select而不是子选项。所以:
$(@el).find('.color').find(':selected').text()
Ps Backbone会自动为您添加查找内容:
$(@el).find('.color');
相当于:
@.$('.color')