Jquery ui 如何更改JSON值的jQuery UI选择器?

Jquery ui 如何更改JSON值的jQuery UI选择器?,jquery-ui,autocomplete,Jquery Ui,Autocomplete,我有这种类型的json文件 { "id":3, "name": "John", "group_id": 7, "last_name":"Mickel" } 我需要通过jquery自动完成选择姓氏。 UI自动完成中的默认值不是“标签”,而是姓氏。使用自定义选择器填充数据 $("element").autocomplete({ source: json, select: function(event, u

我有这种类型的json文件

    {   
        "id":3,
        "name": "John",
        "group_id": 7,
        "last_name":"Mickel"
    }
我需要通过jquery自动完成选择姓氏。
UI自动完成中的默认值不是“标签”,而是姓氏。

使用自定义选择器填充数据

$("element").autocomplete({
  source: json,
  select: function(event, ui) {
    $("element").val(ui.item.last_name);
  });

试试这个。这不好,但很管用

$("#auto").autocomplete({
   source: function(request, response) {
      var matcher = new RegExp( $.ui.autocomplete.escapeRegex(request.term), "i" );

      var results = $.grep( myArray, function(value) {
                    return matcher.test( value.last_name );
            });

      response(results)
   }
})
.data("uiAutocomplete")._renderItem = function( ul, item ) {
    console.log("test");
    return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>" + item.last_name+"</a>" )
        .appendTo( ul );
};
$(“#自动”).autocomplete({
来源:功能(请求、响应){
var matcher=newregexp($.ui.autocomplete.escapeRegex(request.term),“i”);
var results=$.grep(myArray,函数(值){
返回matcher.test(value.last_name);
});
答复(结果)
}
})
.数据(“uiAutocomplete”)。\u renderItem=功能(ul,项目){
控制台日志(“测试”);
返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“

    注意,我相信在jQuery的一些早期版本中,它实际上是
    .data(“自动完成”)


    说到这里,我还建议您重新考虑更改或转换JSON数据模型,以符合组件的期望。这将使它更简单,并确保您不会被锁定到jQuery版本,因为
    \u renderItem
    函数是内部API的一部分,可能会发生更改。

    很抱歉,它不会被锁定或者你看过演示了吗?它展示了如何显示你想要的+1的任何字段作为_renderItem函数