2015-11-06 35 views
1

我在Demo JSFiddle上有動態文本字段,並且已完成了我的物料零件編號的自動完成部分。
顯示基於自動完成選定值的信息

$ (document).ready(function() { 
    $("#addField").click(function() { 
     var intId = $("#buildyourform div").length + 1; 
     var fieldWrapper = $("<div id=\"field" + intId + "\"/>");     
     var fpartNo = $("<input type=\"text\" name=\"erfq_partNo[]\" class=\"partNumber\"/>"); 
     var fDescription = $("<input type=\"text\" name=\"erfq_desc[]\" disabled/>");     
     var fPrice = $("<input type=\"text\" name=\"erfq_price[]\" disabled style=\"width:80px\"/>"); 
     // remove textboxes and dropdown boxes 
     var removeButton = $("<input type=\"button\" class=\"remove\" value=\"-\" />"); 
     removeButton.click(function() { 
      $(this).parent().remove(); 
     }); 
     fieldWrapper.append(fpartNo); 
     fieldWrapper.append(fDescription); 
     fieldWrapper.append(fPrice); 
     fieldWrapper.append(removeButton); 
     $("#buildyourform").append(fieldWrapper); 

     $(".partNumber").autocomplete({   
      minLength:1, 
      source: 'readPart.php', 
      select: function(event, ui){ 
       var selected = ui.item.value; 
      } 
     }); 
    }); 
}); 

readPart.php

$searchTerm = $_GET['term']; 
$getPartSQL = base_executeSQL("SELECT * FROM eitem_item where eitem_item_part_no LIKE '%".$searchTerm."%' ORDER BY eitem_item_part_no"); 
while($Partdata_row = base_fetch_array($getPartSQL)) 
if (base_num_rows($getPartSQL)!= 0) 
{ 
    $data[] = $Partdata_row['eitem_item_part_no']; 
} 
echo json_encode($data); 

第一個文本框是用來輸入部件號
我的問題是,一旦部分沒有被輸入,其他的相關信息(描述和價格)將顯示在數據從我的數據庫中提取的其他只讀文本字段中。我不知道該如何繼續select: function(event, ui){。任何幫助將不勝感激。

回答

0

好了,如果你想獲得的part #database的基礎上,數據可以觸發的text box部件號blurajax電話。

你可以做這樣的事情

$("#partNum").blur(function(){ 
    var part = $("#partNum").val(); 
    $.ajax({ 
     type: 'get', 
     url:'/echo/js/?js='+part, //url to your database fetcher code. 
     complete: function (response) {  //response contains what you got from pap page 
      $('textarea#des').val(response.responseText); //set textarea and textbox value popping out from db file 
     } 
    }); 
}); 

這裏是HTML片段了這一請求。

<input type = 'text' id = 'partNum' name = 'parts' /> 
<textarea id = "des" name = 'description' disabled></textarea> 

FIDDLE

這將在blur工作時textbox外點擊意思。但是,如果你想獲得實時數據(當用戶輸入時),那麼你必須在keyup事件中轟擊ajax請求。

是這樣的:

$("#partNum").keyup(function(){ 
    var part = $("#partNum").val(); 
    $.ajax({ 
     type: 'get', 
     url:'/echo/js/?js='+part, 
     complete: function (response) { 
      $('textarea#des').val(response.responseText); 
     } 
    }); 
}); 

FIDDLE here

希望這會有所幫助。

+0

感謝Mubin,你給了我一個主意,我把你的一些代碼作爲我的參考。謝謝! – Sollo

+0

很高興幫助@Sollo :) – Mubin