在textextjs插件中添加额外数据

时间:2015-08-06 10:21:53

标签: javascript jquery jquery-textext

我试图在textextjs方法中调用一个函数 -

//my function
function GetAreaTags() {
    return "some text";
}

//textext initializtion
$('#territory').textext({
    plugins: 'tags prompt focus autocomplete ajax',
    ajax: {
         url: '/Admin/Search/GetTerritorySuggestions?area=' + GetAreaTags(),
         dataType: 'json',
         cacheResults: false
    }
});

但是没有调用 GetAreaTags()。我该如何实现呢?

1 个答案:

答案 0 :(得分:1)

它应该有用......但试试这个:

function GetAreaTags() {
    return "some text";
};
var yourObj= {
    plugins: 'tags prompt focus autocomplete ajax',
    ajax : {
      url: '/Admin/Search/GetTerritorySuggestions?area=' + GetAreaTags(),
      dataType: 'json',
      cacheResults: false
    }
};
$('#territory').textext(yourObj);
console.log(yourObj.ajax.url);

如果不能解决问题,请尝试:

function GetAreaTags() {
    return "some text";
};
var yourObj= {
    plugins: 'tags prompt focus autocomplete ajax',
    ajax : {
      url: function() {return '/Admin/Search/GetTerritorySuggestions?area=' + GetAreaTags()},
      dataType: 'json',
      cacheResults: false
    }
};
$('#territory').textext(yourObj);
console.log(yourObj.ajax.url);

检查控制台两次,看看你的网址是否符合你的要求。

[编辑:我错误地拒绝了编辑,抱歉]

EDIT2

来自s.k.paul的评论:

  

GetAreaTags()应该在每次输入该文本框时执行。   但是,控制台说 - 1. / Admin / Search / GetTerritorySuggestions?area =   2. localhost:12788 / Admin / Dashboard / ...}& q = 404(Not Found)

因此,您需要另一个事件处理程序来动态更改网址(必须使用其他网址调用该插件):

function GetAreaTags() {
    return "some text";
};
$("#territory").keyup(function() {
    var yourObj= {
        plugins: 'tags prompt focus autocomplete ajax',
        ajax : {
          url: function() {return '/Admin/Search/GetTerritorySuggestions?area=' + GetAreaTags()},
          dataType: 'json',
          cacheResults: false
        }
    };
    $('#territory').textext(yourObj);
    console.log(yourObj.ajax.url);
});

但是,这可能非常繁重...该插件希望您为自动完成资源提供单一参考。如果您正在动态更改它,它可能会重置已有的内容。

EDIT3

  

编辑2:textextjs现在根本不起作用。并且,url函数返回   整个功能文本

这意味着插件无法在同一元素中处理两次或更多次。我看到的唯一可能的解决方案是更改插件的代码,以便根据您的功能动态更改资源...

这让我想知道,如果您在键入时允许用户拥有更广泛的数据资源(包括所有区域)更容易,这样只会有一个URL并且插件不会有任何问题