我有一个这样的表单,如果用户从下拉列表中选择了任何值,那么我想根据该值从数据库中获取详细信息 . 假设如果用户从下拉列表中选择 Name 2 ,那么我应该自动填充与 Name 2 相关的字段 address & phone . 此外,我无法获得值 $_POST['name'] . 我试过但没有运气 . 这是我的代码 . 请建议我是否有任何其他方法来实现它 . 谢谢 .
HTML
<select id="name" name="name">
<option value="1">Name 1</option>
<option value="2">Name 2</option>
<option value="3">Name 3</option>
<option value="4">Name 4</option>
<option value="5">Name 5</option>
</select>
<input type="text" name="address" id="address" />
<input type="text" name="phone" id="phone" />
jQuery的
$(document).ready(function () {
$('#name').change(function(){
var name = $(this).val();
var dataString = "name=" + name;
alert (dataString);
$.ajax ({
type: "POST",
url: "test.php",
data: dataString,
dataType: json,
success: function(data) {
$('#address').val(data.address);
$('#phone').val(data.phone);
}
});
});
});
PHP
<?php
ini_set('display_errors',1); // enable php error display for easy trouble shooting
error_reporting(E_ALL); // set error display to all
include "connect.php";
if (ISSET($_POST['name'])) {
$ref = $_POST['name'];
$query = $con->query("SELECT * FROM test WHERE id = '$ref' LIMIT 1");
$row = $query->fetch_assoc();
$address = $row['address'];
$phone = $row['phone'];
$json = array('address' => $address, 'phone' => $phone);
echo json_encode($json);
}
$con->close();
?>
4 回答
您应该使用另一种方法来显示值,
.val(value)
只需在元素的标记中设置一个值 . 您可以改用.text(value)
,.html(value)
.改变这个
至
dataType: json,
需要dataType: "json",
使用val()显示检索到的数据将完美地工作;我只是怀疑
<input>
是否适合输出 .HTML
jQuery的
PHP