我们如何通过PHP中的AJAX从selectbox值更改中填充多个文本框

时间:2015-10-31 05:25:44

标签: javascript php html ajax

我希望通过PHP和HTML中的AJAX,通过selectbox的onchange事件填充我的所有文本框和动态表。 我已经做了一些事情但是这个AJAX函数只返回数据库文件中的一个值。 这是脚本

<script type="text/javascript">

     function fetch_select(val)
     {
         $.ajax({
                 type: 'post',
                 url: 'dbassign.php',
                 data: {
                           get_option:val
                       },
                 success: function (response) {

              $('#cust').val(response);
         }
   });
}

这适用于selectbox onchange事件

<select name='cminvoice' onchange='fetch_select(this.value)' class='form-control' autofocus>

这是我的数据库文件

if(isset($_POST['get_option']))
{
     $state = $_POST['get_option'];
     $find=mysql_query("select custn from tbbill where invoice=$state");
     while($row=mysql_fetch_array($find))
     {
       echo "$row[custn]";

     }
}

我已在多个值上应用此相同功能,但它在同一文本框中显示所有数据。

2 个答案:

答案 0 :(得分:1)

不要忘记包含jquery.js 试试这段代码 按以下方式创建表

public BMI(String n, float w, float h) //CONSTRUCTOR 
{
  n = name;
  w = weight;
  h = height;
}

page1.php中

public BMI(String n, float w, float h) //CONSTRUCTOR 
{
  name = n;
  weight = w;
  height = h;
}

dbassign.php

CREATE TABLE IF NOT EXISTS `tbbill` (
  `id` int(11) NOT NULL,
  `custn` varchar(25) NOT NULL,
  `invoice` varchar(25) NOT NULL
  ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

  --
  -- Dumping data for table `tbbill`
  --

INSERT INTO `tbbill` (`id`, `custn`, `invoice`) VALUES
(1, 'abc', 'Value1'),
(2, 'xyz', 'Value1'),
(3, 'pqr', 'Value1'),
(4, 'qwe', 'Value1');

答案 1 :(得分:0)

使用JSON_encode执行此任务,使请求易于处理。

在.php文件中从服务器获取结果后,尝试使这样的事情变得简单

 $data = array("for_box_one"=>'value1',"for_box_two"=>'value2');
 echo json_encode($data);
 die;

也改变了

    success: function (response) {
          $('#cust').val(response);
     }

     success: function (response) {
          $('#cust').val(response.for_box_one);
          // rest will be same 
          $('#cust2').val(response.for_box_two);
          // as so on whatever you want 
     }