Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jquery根据select值填充表中的文本输入_Php_Jquery - Fatal编程技术网

Php jquery根据select值填充表中的文本输入

Php jquery根据select值填充表中的文本输入,php,jquery,Php,Jquery,我有一个表单,其中包含一个select命名的Client_ID以及一些其他文本输入。我需要的是,当用户选择客户机ID时,我的字段Address1、Address2等应该填充数据库查询的结果 SELECT Address1, Address2 from Client where Client_ID = Client_ID 我知道这有点像是一个noob问题,但我真的非常感谢您提供一些最简单和最好的帮助。阅读。我认为这可能会帮助您理解将数据从客户端移动到服务器的概念,反之亦然 请记住,在您的情况下,

我有一个表单,其中包含一个select命名的Client_ID以及一些其他文本输入。我需要的是,当用户选择客户机ID时,我的字段Address1、Address2等应该填充数据库查询的结果

SELECT Address1, Address2 from Client where Client_ID = Client_ID
我知道这有点像是一个noob问题,但我真的非常感谢您提供一些最简单和最好的帮助。

阅读。我认为这可能会帮助您理解将数据从客户端移动到服务器的概念,反之亦然

请记住,在您的情况下,您需要结合事件

$(document).ready(function(){  
    $("#my_select_box").change(function()   
    {   
       //send the data to the server as in the tutorial above  
    });   
});   

你应该用+

首先,从下载jquery并将其包含在应用程序中

如果home.php、下载的jquery文件jquery-1.4.2.min.js和getData.php位于同一文件夹中,则home.php如下所示:

包含表单的home.php文件

<html>

<head>

    <script type="text/javascript" src="jquery-1.4.2.min.js"></script>

    <script type="text/javascript">
    jQuery(document).ready(function(){
        jQuery('#Client_ID').live('change', function(event) {
            $.ajax({
                url     : 'getData.php',
                type    : 'POST',
                dataType: 'json',
                data    : $('#myform').serialize(),
                success: function( data ) {
                       for(var id in data) {        
                              $(id).val( data[id] );
                       }
                }
            });
        });
    });
    </script>

</head>

<body>

    <form id='myform'>
     <select name='Client_ID' id='Client_ID'>
       <option value=''>Select</option>
       <option value='1'>Client 1</option>
       <option value='2'>Client 2</option>
     </select>

     <input type='text' name='address1' id='address1'>
     <input type='text' name='address2' id='address2'>

     <select name='gender' id='gender'>
        <option value=''>Select</option>
        <option value='1'>Male</option>
        <option value='2'>Female</option>
     </select>

    </form>

</body>


</html>
getData.php


我已经在我的机器上测试了这段代码,它正在工作。

+1尽管我发现如果我计划在客户端处理动态字符串,从服务器返回json是最安全的。Naveed,使用您的方法,如果我在浏览器中调用该页面,我将从getdata.php返回看起来有效的数据。但是,更改select的值时不会发生任何事情。通过将jquery代码放在页面的标题部分,我是否正确使用了它?如果select change事件中没有发生任何事情,则表示没有正确包含jquery代码或没有包含jquery库。是的,您可以在head部分添加jquery代码,但您必须在tag中关闭它,并使用ready函数。请看编辑后的答案。jquery代码现在添加到head部分。仔细阅读整个答案,然后再试一次。如果没有成功,请在这里再次报告,我会尽力帮助你。谢谢纳维德。我把它放在标签之间的head部分,但省略了jQuerydocument.readyfunction。我现在已经编辑了我的代码,它工作得非常好。我将花一些时间阅读您提供的jquery代码,以尝试正确理解。一个稍微相关的问题,不确定是否应该为此启动一个新的q。我正在更新的一个字段是另一个select字段。getdata.php返回的数值。如何更新此select的选定属性,以便选择更新的值?
<?php

$clientId = $_POST['Client_ID']; // Selected Client Id

$query  = "SELECT Address1, Address2 from Client where Client_ID = $clientId";
$result = mysql_query($query);
$row = mysql_fetch_array($result, MYSQL_ASSOC)

$add1 = $row[Address1];
$add2 = $row[Address2];
$gender = 1;

$arr = array( 'input#address1' => $add1, 'input#address2' => $add2, 'select#gender' => $gender );
echo json_encode( $arr );

?>