1

AutoSuggest jQuery 插件需要一个已经可用的数据对象才能运行。我需要将用户从第一个输入中的选择用作第二个输入中的数据。

以下代码段在 firebug 中引发错误

availableTeachers 未定义

var labs = {lesson:
                [
                    {
                        name: "FOO LESSON",
                        professors: [
                            { lab: "FOO TEACHER [Monday 3 pm]" },
                            { lab: "FOO TEACHER [Thursday 7 pm]" }
                        ]
                    },
                    {
                        name: "FOO LESSON",
                        professors: [
                            { lab: "FOO TEACHER [Tuesday 10 am]" }
                        ]
                    }
                ]
        };

firstStep.find("form input[type=text]").autoSuggest(labs.lesson, {
    selectedItemProp: "name",
    searchObjProps: "name",
    selectionLimit: 1,
    resultClick: function(data){
        availableTeachers = data.attributes;
    },
});

secondStep.find("form input[type=text]").autoSuggest(availableTeachers.professors, {
    selectedItemProp: "lab",
    searchObjProps: "lab",
    selectionLimit: 1,
});

编辑

更多测试,我预先定义了一些虚拟数据,并在用户在第一个输入中availableTeachers选择 a 后用真实数据填充它。lesson.name

第二个输入一直只看到虚拟数据

到目前为止,似乎 autoSuggest 插件只能使用静态数据对象或 JSON 请求。

4

1 回答 1

0

availableTeachers 定义哪里?您应该有一些创建变量的地方。仅在 lambda 函数内为其分配一个值是不够的,因为该变量的范围本地的,除非它是在全局范围内创建的。

于 2010-08-16T09:17:23.350 回答