2017-04-01 9 views
0

私はjquery - textboxオートコンプリートを実装しようとしています。この設定のためにWebサービス。asp.net webservice jquery textboxオートコンプリート

[WebMethod] 


    public List<Condition> GetCondition(string term) 
    { 


     List<Condition> listCondition = new List<Condition>(); 

     string cs = ConfigurationManager.ConnectionStrings["db5"].ConnectionString; 
     using (SqlConnection con = new SqlConnection(cs)) 
     { 
      SqlCommand cmd = new SqlCommand("spSelCondition", con); 
      cmd.CommandType = CommandType.StoredProcedure; 
      cmd.Parameters.Add(new SqlParameter() 
      { 
       ParameterName = "@term", 
       Value = term 
      }); 
      con.Open(); 
      SqlDataReader rdr = cmd.ExecuteReader(); 
      while (rdr.Read()) 
      { 
       listCondition.Add(new Condition { ConditionID = rdr["ConditionID"].ToString(), ConditionName = rdr["ConditionName"].ToString() }); 
      } 
      return listCondition; 
     } 
    } 

    public class Condition 
    { 
     public string ConditionName { get; set; } 
     public string ConditionID { get; set; } 
    } 

WebServiceは正常に動作します。テキストボックスにjqueryを自動補完するために、このjavascriptを書いています。

<script type="text/javascript"> 
      $(document).ready(function() { 

       $('#txtCondition').autocomplete({ 
        source: function (request, response) { 
         $.ajax({ 
          url: 'ibs_ws.asmx/GetCondition', 
          method: 'post', 
          contentType: 'application/json;charset=utf-8', 
          data: JSON.stringify({ term: request.term }), 
          dataType: 'json', 
          success: function (data) { 
           response(data.d); 


          }, 
          error: function (err) { 
           alert(err); 
          } 
         }); 
        } 

      }); 
     })</script> 

私はそれがパラメータとして@termを取り、XMLギにConditionIDとConditionNameで結果を返すWebサービスにアクセスします。しかし、Webフォーム上では、テキストボックスに何かを入力すると、[オブジェクトオブジェクト]で警告されます。

何か問題があります。

- &よろしく

答えて

0

おかげで、それはあなたを助けるかもしれませ。これを試してください

$ .map(data.d、function(value、key){})を使う必要があると思います。ここでは、以下のような成功コードを更新する必要がある場合、オブジェクト内で値を取得することができます。あなたはあなたのサービスがconditionIDと名前はので、私はあなたがそれを正確に返すものと一致することができ、これらの変数を使用返す言ったように

success: function (data) { 
         response($.map(data.d, function (value, key) { 
          return { 
           ConID: value.ConditionID, 
           ConNAme: value.ConditionName, 
          } 
         })) 
        }, 

関連する問題