.autocomplete ID列的问题

时间:2011-02-19 02:43:43

标签: javascript jquery-plugins asp.net-mvc-3

我希望在Find中调用以下操作CityController

我可以提供一个断点,看看,向客户提供的数据很精细。

  1. 选择项目时自动完成排序;它变成了空白,引发了一个奇怪的Javascript异常。

  2. 即使自动完成是ui-1.8.9.custom js文件的一部分,我仍然需要提供打击脚本。

  3. 当我选择City时,我希望填充CityId,以便我可以继续进行其他搜索。

  4. <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);     
    
            }
    

0 个答案:

没有答案