我有一个选择菜单,其中每个选项的文本以关键字开头(即 - “Nike Running Shoes”...... Nike是关键字)。我希望有一个包含关键字列表的第二个静态选择...然后能够通过所选关键字过滤第二个列表选项。
因此,如果用户选择了关键字“Nike”,则第二个列表将被过滤为仅包含以“Nike”开始测试的选项。
这是我到目前为止创建的jquery ......但它不起作用
jQuery ->
subjects = $('#subject_select').html()
$('#keyword_select').change ->
keyword = $('#keyword_select :selected').text()
options = $(subjects).filter("option[text^='#{keyword}']").html()
if options
$('#subject_select').html(options)
else
$('#subject_select').empty()
添加“警报选项”产生“未定义”。我需要帮助的一行是:
options = $(subjects).filter("option[text^='#{keyword}']").html()
处理两个相关的模型时,这是一项简单的任务。在我的情况下,它们没有关联(这就是我使用静态关键字的原因)。
答案 0 :(得分:3)
编辑 -
这是一个工作小提琴:http://jsfiddle.net/WZYzd/
您遇到了一些问题,其中最大的问题是option
元素没有text
属性,因此我更改了过滤器:
options = $(subjects).filter(function() {
return $(this).text().indexOf(keyword) == 0;
});