2010-10-22 107 views
1

我有一個表單根據自動填充字段的選擇填充3個字段。這很好,並且運行良好,但是我有第四個字段需要根據自動填充自動填充的字段中的一個自動填充。使用SQL查詢中的數據填充輸入字段的最佳方法?

填充第4個字段的最佳方式是什麼?

這裏是我的主代碼:

<script type="text/javascript"> 
$().ready(function() { 
    $("#PartNumberID").autocomplete({ 
    source: "ajax/getData.php", 
    minLength: 6, 
    delay: 100, 
    select: function(event, ui) { 
     $("#loadingIcon").show(); 
     $("#PartNumberID").val(ui.item.value); 
     $("#BoxID").val(ui.item.dietype); 
     $("#PackageID").val(ui.item.pkg); 
     $("#loadingIcon").fadeOut(); 
    }, 
    change: function(event, ui){ 
     $("#ProcessID").val("RESULT FROM SQL STATEMENT USING BoxID GOES HERE"); 
    } 
    }); 
}); 
</script> 

這裏是我的文件名爲process.php如果傳遞箱的GET VAR這將讓這個過程中,我只需要弄清楚如何發送箱var和獲得該文件的結果,並把它在輸入字段:

<?php 
require_once '../includes/conn.php'; 
$sql=mysql_query("SELECT PROCESS FROM data WHERE `box` = \"".$_GET['box']."\" GROUP BY PROCESS") or die("mysql error".mysql_error()); 
$part['process']=mysql_result($sql,0); 
$parts[]=$part; 
echo json_encode($parts); 
?> 
+0

我覺得'$()'已被棄用,而贊成'$(document)'。應該用這個代替 – Znarkus 2010-10-22 18:48:31

+1

另一件事:PHP的第二行非常糟糕,它可能使任何用戶刪除整個數據庫。只是單挑:)閱讀更多在http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php – Znarkus 2010-10-22 18:51:09

+0

剛剛檢查:'$()'返回一個1.4 – Znarkus 2010-10-22 18:55:35

回答

1

事情是這樣的..

change: function(event, ui){ 
     $.get('ajax/boxQuery.php?box='+$("#BoxID").val, 
       function(result){ 
         $("#ProcessID").val(result); 
       } 
    } 

我使用$("#BoxID").val,但實際上你應該使用ui參數,我只是不知道我的頭頂是什麼正確的語法。

+0

甜的空集合,它工作,謝謝..所以我想我甚至不需要在json編碼,我只是echo'ed它:'變化:函數(事件,用戶界面){$ ajax/getProcess.php?box = '+ ui.item.box,function(result){(「#ProcessID」).val(result); }); }' – 2010-10-22 19:04:12

0

看到JSON結果會很有幫助,但這基本上是您需要的。

$(document).ready(function() { 
     $("#PartNumberID").autocomplete({ 
     source: "ajax/getData.php", 
     minLength: 6, 
     delay: 100, 
     select: function(event, ui) { 
      $("#loadingIcon").show(); 
      $("#PartNumberID").val(ui.item.value); 
      $("#BoxID").val(ui.item.dietype); 

      $("#PackageID").val(ui.item.pkg); 
      $("#loadingIcon").fadeOut(); 
     }, 
change: function(event, ui) 
{ 
$.ajax({ 
    type: 'GET', 
    data: '?box=' . ui.item.dietype, 
    url: 'process.php', 
    success: function(data) 
    { 
    $.each(data) { 
    $("#ProcessID").val(this.process); 
    } 
    } 
    }) 
} 

     }); 
    }); 
相關問題