Jquery Ajax无法't获取当前聚焦的输入元素
Jquery Ajax couldn't get the current focused input element
我的表单有两种输入字段,1)ID的输入字段,2)名称的输入字段。我已经有了一个mysql数据库,其中有一个表,里面装满了ID和名称数据。我想做的是,当我在ID的输入字段中键入ID号时,当它失去焦点时,jquery脚本将根据数据库中的ID号自动填充名称的输入字段。所以我的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行中的ID输入域将只自动填写第2行的名称输入域,依此类推,而不是写20次相同的脚本。
我尝试使用遍历方法,例如(this)和(next),但似乎无法使其工作。我也试过使用(:focus)方法,我不确定我是用错了还是不适合这个。
欢迎所有建议。提前Thx。
假设它们是兄弟,则使用this和next()
$('.input_id').blur(function() {
var inp = $(this);
$.post('search_name.php',
{
id: inp.val()
},
function(data) {
inp.next('.input_name').val(data);
});
});
相关文章:
- 将事件聚焦/模糊在可编辑内容的元素上
- 使用jquery聚焦选择html元素
- 阻止html元素聚焦
- Jquery Ajax无法't获取当前聚焦的输入元素
- 自动扫描和聚焦HTML页面的元素
- 从onBlur事件中获取新聚焦的元素(如果有的话)
- 父元素悬停/活动/聚焦时隐藏元素
- 如何在输入字段以外的元素上触发聚焦
- 聚焦和模糊错误元素触发的事件
- 聚焦奥蕾莉亚中的元素
- 如何让我的键码聚焦元素
- 未知错误:无法聚焦元素
- 聚焦元素隐藏在固定菜单后面
- 如何在jQuery中淡出除聚焦元素以外的所有元素
- 在聚焦元素时发送参数
- jQuery聚焦元素高亮,字符串化属性
- 带有附加模糊或focusout事件的已聚焦元素在第二次点击时触发它
- 为什么触发点击合成不聚焦元素
- 验证和聚焦元素
- 使用jquery找到下一个最近的可聚焦元素