2012-09-20 82 views
0

我有以下的jQuery代碼:jQuery的自動完成功能與動態行

$(document).ready(function(){ 
var ac_config = { 
    source: "autocomplete-delta.php", 
    select: function(event, ui){ 
     $("#del_item").val(ui.item.SKU); 
     if ((ui.item.CASE_PRICE) != "N/A"){ 
      $("#del_price").val(ui.item.CASE_PRICE); 
     } else { 
      $("#del_price").val(ui.item.UNIT_PRICE); 
     } 
    }, 
    minLength:1 
}; 
$("#del_item").autocomplete(ac_config); 
}); 

這對於一個行項目正常工作,基本上是訂單項優先項目名稱,這是你在爲自動完成,然後鍵入場在選擇它後,用我的數據庫中的單價或案例價格填寫價格字段。現在我想要通過php設置的這些行中的18行爲del_item1,del_item2等,當我嘗試下面的代碼時,自動完成工作,它填寫項目罰款,但價格字段不填寫,有任何想法嗎...?

$(document).ready(function(){ 
for (var i = 1; i < 19; i++) { 
    var ac_config = { 
    source: "autocomplete-delta.php", 
    select: function(event, ui){ 
     $("#del_item" + i).val(ui.item.SKU); 
     if ((ui.item.CASE_PRICE) != "N/A"){ 
      $("#del_price" + i).val(ui.item.CASE_PRICE); 
     } else { 
      $("#del_price" + i).val(ui.item.UNIT_PRICE); 
     } 
    }, 
    minLength:1 
}; 
$("#del_item" + i).autocomplete(ac_config); 
}); 
+0

什麼做PHP的反應看起來像,這是什麼樣的HTML代碼? – dbf

回答

0

這裏是PHP文件,JS的引用:

<?php 
require_once "/home/default/support/default.php"; 
$dbh = showDB(); 
$cities = array(); 
$sth = $dbh->prepare("SELECT * FROM purchase_items"); 
$sth->execute(); 

while($row = $sth->fetch(PDO::FETCH_ASSOC)) { 
$cities[]=$row; 
} 

$term = trim(strip_tags($_GET['term'])); 

$matches = array(); 
foreach($cities as $city){ 
if((stripos($city['SKU'], $term) !== false) || (stripos($city['FAMILY'], $term) !== false) || (stripos($city['DESCRIPTION'], $term) !== false)){ 
    // Add the necessary "value" and "label" fields and append to result set 
    $city['value1'] = $city['SKU']; 
    $city['value2'] = $city['FAMILY']; 
    $city['value3'] = $city['DESCRIPTION']; 
    $city['label'] = "{$city['FAMILY']} - {$city['DESCRIPTION']} ({$city['SKU']})"; 
    $matches[] = $city; 
} 
} 
$matches = array_slice($matches, 0, 100); 
print json_encode($matches); 

而這裏的要求之上的是我的工作的16個項目,內部的for循環HTML端在循環中的計數器是$ d:

if($d&1) { ?> 
<div id="trow"> 
<? } else { ?> 
<div id="trow" class="none"> 
    <? } ?> 
     <div id="thirds" style="text-indent:5px;"> 
    <input type="text" name="del_item<? echo("$d");?>" id="del_item<? echo("$d");?>" class="salesinput" 
    placeholder="Start typing item SKU, family, description..." style="text-align:left; width:95%;" /> 
    </div> 
    <div id="dollar"><span class="tdblackbigger">$ </span></div> 
    <div id="lfamt" style="width:15%;"><input type="text" name="del_price<? echo("$d");?>" id="del_price<? echo("$d");?>" class="salesinput" style="text-align:right; padding-right:5px;" /></div> 
    <div id="lfsold" style="width:15%;"><input type="text" name="del_retail<? echo("$d");?>" id="del_retail<? echo("$d");?>" class="salesinput" /></div> 
    <div id="dollar"><span class="tdblackbigger">$ </span></div> 
    <div id="lfamt" style="width:15%;"><input type="text" name="del_line<? echo("$d");?>" id="del_line<? echo("$d");?>" class="salesinput" style="text-align:right; padding-right:5px;" /></div> 
     </div>