javascript - 我们如何通过 PHP 中的 AJAX 来填充选择框值更改中的多个文本框

标签 javascript php html ajax

我想通过 PHP 和 HTML 中的 AJAX 通过选择框的 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);
         }
   });
}

这是针对选择框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]";

     }
}

我已对多个值应用了相同的函数,但它在同一文本框中显示所有数据。

最佳答案

不要忘记包含 jquery.js 试试这个代码 创建表如下

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');

page1.php

<html>
<head>
<script src="jquery.js" type="text/javascript"></script>  
<script type="text/javascript">
function fetch_select(val)
 { alert(val);
     $.ajax({
             type: 'post',
             url: 'dbassign.php',
             data: {
                       get_option:val
                   },
             success: function (response) {
            response=response.replace(/,\s*$/, "");
            console.log(response);
            response=response.split(","); 
            var i=0;
            $.each(response, function(key, val) {
                i++;
                if(val!=""){
                    $(".response_elements").append("<input type='text' 
name='custn"+i+"' value='"+val+"'/><br/>");     
                }

            });
       }
   });
}
</script>
</head>
<body>
<select name='cminvoice' onchange='fetch_select(this.value)' class='form-
control' autofocus>
<option value="">-Select-</option>
<option value="Value1">Value1</option>
<option value="Value2">Value2</option>
</select>
<div class="response_elements">
</div>
</body>
</html>

数据库分配.php

<?php 
if(isset($_POST['get_option']))
{
     $state = $_POST['get_option'];
     $con=mysql_connect('localhost','root','');
     mysql_select_db('db_wtg');
     $find=mysql_query("select custn from tbbill where     
     invoice='".$state."'");
     $data="";
     while($row=mysql_fetch_array($find))
     {
       $data.=$row['custn'].",";
     }
    echo $data;
}

?>

关于javascript - 我们如何通过 PHP 中的 AJAX 来填充选择框值更改中的多个文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33448379/

相关文章:

php - "Invalid parameter number: parameter was not defined"插入数据

php - Laravel 创建存储文件夹子文件夹

php - WSDL SoapClient 和 PHP + 自己的命名空间

html - 无法让文本框接受输入

javascript - 在 IE 的 pre 元素中插入带有 innerHTML 的换行符 (\n) 不起作用?

javascript - 无法运行 MQTT JavaScript 客户端

javascript - reactjs 在构造函数与属性中存储状态

javascript - 为什么promise会这样解决呢? (使用通知回调)

javascript - 为什么 style.cursor 方法在 xPage 上不起作用?

html - Spacer gif 已替换为 png,无法在任何地方找到 img,因此我可以替换它。这里发生了什么?