2016-03-21 37 views
0

私はJavaサーバー側でjQueryオートコンプリートを使用しようとしています。私は連絡先情報と呼ばれるフォームを持っています。このフォームには名と姓という2つのフィールドがあります。連絡先情報の保存をクリックすると、sqlカラムc_first_nameとc_last_nameの下に姓と名が保存されます。現在、jsonが返っています:[{"" c_first_name ":" Reur "、" c_last_name ":" Raman "}、{" c_first_name ":" John "、" c_last_name ":" Joon "}]私たちは、お問い合わせフォームでより多くの人々を入力すると、JSONリストが成長するあなたのことをJQueryが複数のJSON値を使用するためにjavaでオートコンプリート

public class Controller implements Pler { 

    public Response execute(Pagxt t) throws ApplicationException { 

     TextResponse tr = t.createTextResponse(); 

     tr.setContentType("application/json"); 

     try { 


      String term = t.getPeters().getSingle("term"); 
      String sqlJson = t.ceSQL("Select c_first_name from t_coct").fetchJSON(); 
      tr.put("aadata", sqlJson); 


     }catch (Exception e) { 

      e.printStackTrace(); 
     } 


     return tr; 

    } 

} 

マインド:

function caseIlete() { 

    jQuery(document).ready(function() { 
     jQuery(function() { 
       jQuery("#Cant, #Caseorney, #CaseInput_employer, #Caney").autocomplete({ 

       // source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ] 

       source : function (request, response) { 
       jQuery.ajax({ 
         url : "page.request.do?page=page.ajax.autocomplete", 
         type : "GET", 
         data : { 
           term : request.term 
         }, 
         dataType : "json", 
         success : function(data) { 


          data = data[0].c_first_name + " " + data[0].c_last_name; 


          var dataArray = [data]; 

          response(dataArray); 



         } 
       }); 
     } 




}); 
}); 
}); 

はここに私のJavaコントローラファイルです: はここに私のAjaxの機能です。現在、それを動作させるために、私はデータを指しています:

data = data[0].c_fiame + " " + data[0].c_le; 

これは、SQLデータベースの最初のレコードです。 Reazur Ra​​hmanとJohn Johnsonのようにsqlで利用できるレコードの両方を自動入力できるようにしたい。オンラインの例の多くは、応答(データ)のようなものでしたが、それはまったく役に立たなかった。私はdataArrayとして応答を返さなければならなかった。私も試してみました:あなたのアヤックス成功インサイド

for (var i = 0; i < data.length; i++) { 

data = data[i].c_firme + data[i].c_l_name //Also just returns Reazur Rahman 

} 

答えて

0

を、これはあなたが

var dataArray = []; 
for(var k = 0; k < data.length; k++) { 
    // Add items to array 
    dataArray.push(data[k].c_first_name + " " + data[k].c_last_name); 
} 

response(dataArray); 
+0

これは魅力のように働い必要とするものです。私はちょうどdate.pushが欠けていた。私は、JavaScriptのプッシュリファレンスが利用可能であるかどうかはわかりませんでした。 –

関連する問題