如何使用popover bootstrap通过ajax添加内容

时间:2014-10-21 23:33:21

标签: javascript jquery ajax twitter-bootstrap

我试图查看不同的来源,并查看发布类似问题的论坛,但它并没有完全帮助我解决我面临的问题。 我有一个文本输入文件,我添加了一个弹出窗口,以显示数据库中类似的名称列表。 inout字段检查验证,以查看输入的名称是否唯一,如果不是,则显示数据库中可用的类似名称,可以重复使用。 这是popover片段:

$("#account_name_create").popover({ 
                title: 'Twitter Bootstrap Popover', 
                content: function (process) {
                    this.accountCollection = new ipiadmin.collections.AccountCollection();
                    var newName = $("#new-account-form #account_name_create").val();
                    var userFilter = "accountName~'" + newName + "'";
                    this.accountCollection.fetch({
                    data: { "f": userFilter,
                        "sortby": null,
                        "type":"ipi",
                        "pageno":0,
                        "pagesize":2,
                        "reversesort" : true
                    },
                    cache: false,
                    success: function(model, response, options) {
                        var states = [];
                        map = {};
                        $.each(model.aDataSet, function (i, state) {
                            map[state.accountName] = state;
                            states.push(state.accountName);
                        }); 
                        process(states);  //gives an error saying 'undefined is not a function (says process is undefined)'
                    },
                    error: function(model, response, options) {
                    console.log('error');
                    }
                });

            },
        });

这是html:

<input type="text" id="account_name_create" name="account_name" class="" size="40" />

我不知道为什么会这样说&#39;处理&#39;如未定义。还不确定这是否是在弹出窗口中显示数据的正确方法。 任何想法??

谢谢!

1 个答案:

答案 0 :(得分:0)

process在成功函数中没有范围,仅在内容函数中。如果要在success函数中调用process函数,可以在jQuery调用之外的某处定义它。