引用元素id - backbone.js,jquery自动完成

时间:2012-09-19 22:04:48

标签: jquery backbone.js jquery-autocomplete

自动完成功能正常并绑定到所有输入字段。但是如果有错误我需要引用输入的id,这样我就可以显示相应的错误信息,有人能指出我正确的方向吗?引用它是页面,并且引用$(this)未定义。

            render: function() {
                this.$(".inputClass").autocomplete({ // add book dialog
                    source: function(request, response ) {
                         $.ajax({
                             url: someurl + request.term,
                             dataType: "json",
                             global: false, // disable loadingScreen
                             success: function(json) {
                                 books = json.data.list;
                                 response( $.map( i, function( item ) {
                                     return {
                                         test: item.test,
                                     };
                                 }));
                             },
                             error: function(json) {
                                //get element id and apply error class
                             } // error
                         }); // ajax
                    }, // source
                    minLength:1
                 });
      return this;
    }

1 个答案:

答案 0 :(得分:0)

Javascript中的this关键字会更改其在函数内的上下文。要解决此问题,您可以保存对原始上下文的引用(按照约定将其称为““self”)。

render: function() { 
    var that = this;

    // ...

    error: function(json() {
        that.$el.addClass("error");
    }