2016-02-16 28 views
0

在我的要求自動完成搜索框在那裏。我從數據庫中獲取數據。之後,如果我選擇了一個項目,則會顯示該項目標識。我需要它。提前致謝。請解決這個問題,我需要這個ID進一步的工作。如何獲得選定的ID

<link href="CSS/jquery-ui.css" rel="stylesheet" type="text/css" /> 
<script src="Scripts/jquery-2.2.0.min.js" type="text/javascript"></script> 
<script src="Scripts/jquery-ui-1.11.4.min.js" type="text/javascript</script><script type="text/javascript"> 
    $(function() { 
     SearchText(); 
    }); 
    function SearchText() { 
     $(".autosuggest").autocomplete({ 
      source: function (request, response) { 
       $.ajax({ 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        url: "code.aspx?Meth=AB&username=" + document.getElementById('txtSearch').value, 
        data: "{}", 
        dataType: "json", 
        success: function (data) { 
         var list = data; 
         if (list.length > 0) { 
          response($.map(list, function (item) { 
           return { 
            label: item.split(' ? ')[0], 
            val: item.split('?')[1] 
           } 
          })); 
         } 
         else { 
          response([{ label: 'No Records Found', val: -1}]); 
         } 

        }, 
        error: function (result) { 
         alert("Error"); 
        } 
       }); 
      }, 
      select: function (event, ui) { 
       if (ui.item.val == -1) { 
        return false; 
       } 
       //$('#lblUserId').text(ui.item.val); 
       alert(ui.item.val); 
      } 
     }); 
    } 
</script><form id="form1" class="navbar-form" role="search" > 
    <div class="input-group" > 
     <input type="text" id="txtSearch" class="form-control autosuggest" placeholder="Search"> 
     <div class="input-group-btn" > 
      <button class="btn btn-default" type="submit"><i class="fa fa-search" style="color:brown;"></i></button> 

     </div> 
    </div> 
    </form>protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     if (HttpContext.Current.Request.QueryString["Meth"] != null && HttpContext.Current.Request.QueryString["Meth"].ToString() != "") 
     { 
      string Req = Request.QueryString["Meth"].ToString(); 
      if (Req == "AB") 
      { 
       List<string> lst1 = new List<string>(); 
       string username = HttpContext.Current.Request.QueryString["username"].ToString(); 
       lst1 = GetAutoCompleteData(username); 
       if (lst1 != null) 
       { 
        string result = JsonConvert.SerializeObject(lst1); 
        HttpResponse res1 = HttpContext.Current.Response; 
        res1.Clear(); 
        res1.BufferOutput = true; 
        res1.StatusCode = 200; 
        res1.Write(result); 
        res1.ContentType = "text/json"; 
        res1.End(); 


       } 
      } 
     } 
    } 

} 
public static List<string> GetAutoCompleteData(string username) 
{ 
    List<string> result = new List<string>(); 
    using (SqlConnection con = new SqlConnection("Data Source=192.168.1.42,1433;Initial Catalog=Harneedi;User ID=chaitanya_t;Password=makrotech")) 
    { 
     using (SqlCommand cmd = new SqlCommand("select specializationID,specialization,educationID from Mast_Specialization where specialization LIKE '%'[email protected]+'%'", con)) 
     { 
      con.Open(); 
      cmd.Parameters.AddWithValue("@SearchText", username); 
      SqlDataReader dr = cmd.ExecuteReader(); 
      while (dr.Read()) 
      { 
       // ID also display bcz of {1} 
       //result.Add(string.Format("{0},{1}", dr["specialization"], dr["specializationID"])); 

       result.Add(string.Format("{0},{1}", dr["specialization"], dr["specializationID"])); 
      } 
      return result; 
     } 
    } 
} 
+0

什麼的結構ajax結果? –

+0

在'success'中顯示'data'中的值:function(data){}' – anand

回答

0

唯一的問題,我看到的是這樣的:

label: item.split(' ? ')[0], 

分割方法需要包含空格領導和' ? '後的字符串。當你這樣做是爲了其他的你可以將其刪除:

label: item.split('?')[0], 

另外一個似乎是一個錯字,可能是你錯過了UI LIB腳本收盤:

<script src="Scripts/jquery-ui-1.11.4.min.js" type="text/javascript"></script> 
                 <!--here-----^^-->