2010-10-22 108 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); 
    } 
    } 
    }) 
} 

     }); 
    }); 
相关问题