0

我有一个选择菜单,其中每个选项的文本都以关键字开头(即 - “耐克跑步鞋”......耐克是关键字)。我想要第二个包含关键字列表的静态选择......然后能够通过所选关键字过滤第二个列表选项。

因此,如果用户选择关键字“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()

在处理关联的两个模型时,这是一项简单的任务。在我的情况下,它们没有关联(这就是我使用静态关键字的原因)。

4

1 回答 1

3

编辑-

这是一个工作小提琴:http: //jsfiddle.net/WZYzd/

你有几个问题,其中最大的是option元素没有text属性,所以我改变了过滤器,如下所示:

options = $(subjects).filter(function() {
    return $(this).text().indexOf(keyword) == 0;
});
于 2013-06-18T17:16:59.250 回答