.autocomplete Проблемы с колонкой ID - PullRequest
0 голосов
/ 19 февраля 2011

Я хочу что-то сделать, вызвав следующее действие Find в CityController.

Я могу поставить точку останова и посмотреть, все ли хорошо, данные передаются клиенту.

  1. Автозаполнение рода работ при выборе элемента; оно становится пустым и вызывает странное исключение Javascript.

  2. Несмотря на то, что автозаполнение является частью пользовательского файла js-1.8.9.custom, мне все равно нужно предоставить ему сценарий удара.

  3. Когда я выбираю City, я хочу заполнить CityId, чтобы я мог продолжить другой поиск.

<link type="text/css" href="/Content/jquery-ui-1.8.9.custom.css" rel="stylesheet" />    
<script src="../../Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.9.custom.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.autocomplete.js" type="text/javascript"></script>

<div class="ui-widget" style="float:right">
    <label for="city">City: </label>
    <%= Html.TextBox("city") %>
</div>

$("input#city").autocomplete('<%= Url.Action("Find", "City") %>', {
              dataType: 'json',
              parse: function(data) { alert(data.toString);
                  var rows = new Array();
                  for(var i=0; i<data.length; i++){
                      rows[i] = { data:data[i], value:data[i].CityName, result:data[i].CityId };
                  }
                  return rows;
              },
              formatItem: function(row, i, n) {
                  return row.CityName ;
              },
              width: 300,
              mustMatch: true,
          });


 public class CityController : Controller
    {
        //
        // GET: /City/

        public ActionResult Find(string q)
        {

             var data = from s in DataProvider.CityNames 
                         where s.Name.ToLower().StartsWith(q.ToLower())
                         select new {CityId=s.ID, CityName =s.Name};
              var x = data.ToList();

             return Json(x,JsonRequestBehavior.AllowGet);     

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...