我的表格有两种输入字段,1)ID的输入字段,2)名称的输入字段。我已经有一个mysql数据库,其中一个表填充了ID和名称数据。我想要做的是当我在ID的输入字段中键入ID号时,当它失去焦点时,jquery脚本将根据数据库中的ID号自动填充输入字段中的name。 所以我的html输入表格是这样的:
html:
<input type='text' name='id' class='input_id'>
<input type='text' name='name' class='input_name'>
<br>
<input type='text' name='id'>
<input type='text' name='name'>
jquery脚本:
$(document).ready(function) {
$('.input_id').blur(function() {
$.post('search_name.php',
{
id: $('.input_id').val()
},
function(data) {
$('.input_name').val(data);
});
});
});
php(search_name.php)代码:
<?php
$con = mysqli_connect('localhost','root','','database');
$id = $_POST['id'];
$sql = "SELECT * FROM table WHERE id='$id'";
$query = mysqli_query($con, $sql);
$result = mysqli_fetch_array($query);
$name = $result['name'];
echo $name;
mysqli_close($con);
?>
问题是以一种形式,我将有20行ID和名称输入字段,如何修改我的jquery脚本,以便当第1行中的ID输入字段失去焦点时,它只会自动填充名称输入字段在第1行中,第2行中的第1行只会自动填充第2行中的名称输入字段,依此类推,而不是将相同的脚本写入20次。
我尝试使用遍历方法,如(this)和(next),但我似乎无法让它工作。我也尝试过使用(:focus)方法,我不确定我是否错误地使用它,或者它不适用于此。
欢迎所有建议。 Thx提前。
答案 0 :(得分:0)
假设他们是兄弟姐妹,请使用此和next()
$('.input_id').blur(function() {
var inp = $(this);
$.post('search_name.php',
{
id: inp.val()
},
function(data) {
inp.next('.input_name').val(data);
});
});