使用/ Django自动完成Jquery Ui - 有没有办法只在特殊字符后自动完成?

时间:2014-01-18 17:06:49

标签: django jquery-ui autocomplete

我认为我以前没见过这个,所以我不确定它是如何起作用的。我想使用jqueryui从我的模型中获取自动完成值 - 但仅在键入左括号字符时才使用。

示例:

输入城市名称,然后在括号中输入其状态。

奥尔巴尼(纽约)

来源是州

^我正在寻找一种方式让纽约弹出,这将是一个“状态”模型的实例,一旦“(”进入然后“n”。我甚至不确定哪个部分框架将反映这一点。

1 个答案:

答案 0 :(得分:0)

看起来这样可以帮到你。

这是基于官方jqueryui autocomplete example,我对最相关的部分做了一点评论:

$( "#tags" ).autocomplete({
  source: function( request, response ) {
    // use only the string after "(" to compare against the example array. 
    response($.ui.autocomplete.filter(availableTags, request.term.slice(request.term.indexOf("(") + 1)));
  },

  search: function( event, ui ) {
    var input = event.target.value;

    // don't trigger autocomplete until "(" is present.
    if(input.indexOf('(') !== -1) {
      return true;
    }

    return false;
  },

  select: function( event, ui ) {
    var input = event.target.value;

    // return the inputted string + selected value, instead of just selected value alone
    ui.item.value = [input.slice(0, input.indexOf("(") + 1), ui.item.label].join("");
  }
});