2015-08-20 4 views
0

в моем приложении при выборе значения из выпадающего списка автозаполнения текстового поля, это только показывает идентификатор не дорожит мой код нижеJQuery автозаполнения показывает идентификатор при выборе текста

[AcceptVerbs(HttpVerbs.Post)] 
    public JsonResult Autocomplete(string term) 
    { 
     List<DemoModel> demo = new List<DemoModel>(); 
     demo.Add(new DemoModel(1, "one")); 
     demo.Add(new DemoModel(2, "two")); 
     return Json(demo, JsonRequestBehavior.AllowGet); 
    } 

мой взгляд

$(document).ready(function() { 


    $("#PassId").autocomplete({ 
     source: function (request, response) { 

      $.ajax({ 
       async: false, 
       cache: false, 
       type: "POST", 
       url: "@(Url.Action("Autocomplete", "Home"))", 
       data: { "term": request.term }, 
       success: function (data) { 


        response($.map(data, function (item) { 

         return { label: item.name, value: item.id }; 
        })) 
       }, 
       select: 
     function (event, ui) { 

      $("#PassId").val(ui.item.label); 
      return false; 
     }, 

       focus: function(event, ui) { 

        $("#PassId").val(ui.item.label); 
        return false; 
       } 
      }); 
     } 
    }); 
}); 

где я делаю неправильно? Благодарю.

ответ

2

я думаю, до этого:

}, // <-----before this 
select: 

Вы должны закрыть метод АЯКС:

}); //<----this closing of ajax is missing. 
}, 
select: 

Или я бы сказал, есть синтаксические ошибки, проверить это:

$("#PassId").autocomplete({ 
    source: function(request, response) { 

    $.ajax({ 
      async: false, 
      cache: false, 
      type: "POST", 
      url: "@(Url.Action(" Autocomplete ", " Home "))", 
      data: { "term": request.term }, 
      success: function(data) { 
      response($.map(data, function(item) { 
       return { 
       label: item.name, 
       value: item.id 
       }; 
      })) 
      }); 
     }, 
     select: function(event, ui) { 

     $("#PassId").val(ui.item.label); 
     return false; 
     }, 

     focus: function(event, ui) { 

     $("#PassId").val(ui.item.label); 
     return false; 
     } // <---you had a wrong closing here. 
    } 
}); 
Смежные вопросы