如何在jquery ajax函数的数据参数中使用this.val

如何在jquery ajax函数的数据参数中使用this.val,jquery,ajax,Jquery,Ajax,我的data_fetcher.php如下所示: $('input[name=id_num]').blur(function(){ $.ajax({ type: "POST", url: "data_fetcher.php", data: "idnum= ' + this.val + '", success: function(html){ $("#results").append(html); } }); }); <?php $

我的data_fetcher.php如下所示:

$('input[name=id_num]').blur(function(){

$.ajax({
   type: "POST",
   url: "data_fetcher.php",
   data: "idnum= ' + this.val  + '",
   success: function(html){
     $("#results").append(html);
   }
 });    

});
<?php


$idnum = $_POST['idnum'];
.....

?>

由于函数是输入的一个事件(
blur
),因此函数中的此将引用DOM对象
输入

要访问jQuery函数,如
val()
,需要在jQuery对象中对其进行转换。为此,只需将
括在
$()
访问器中:
$(this)
。这与
$('input[name=id_num]')
的结果完全相同,但速度更快,因为jQuery不需要在对象列表上进行搜索

数据
行将如下所示:

$('input[name=id_num]').blur(function(){

$.ajax({
   type: "POST",
   url: "data_fetcher.php",
   data: "idnum= ' + this.val  + '",
   success: function(html){
     $("#results").append(html);
   }
 });    

});
<?php


$idnum = $_POST['idnum'];
.....

?>

还要注意单引号/双引号。在原始代码中,数据的结果将是字符串“
idnum=”+this.val+”
”。由双引号括起来的单引号包含在字符串中,并且在将代码区域从字符串区域拆分时没有任何效果。

由于函数是输入的事件(
模糊
),因此函数中的此将引用DOM对象
输入

要访问jQuery函数,如
val()
,需要在jQuery对象中对其进行转换。为此,只需将
括在
$()
访问器中:
$(this)
。这与
$('input[name=id_num]')
的结果完全相同,但速度更快,因为jQuery不需要在对象列表上进行搜索

数据
行将如下所示:

$('input[name=id_num]').blur(function(){

$.ajax({
   type: "POST",
   url: "data_fetcher.php",
   data: "idnum= ' + this.val  + '",
   success: function(html){
     $("#results").append(html);
   }
 });    

});
<?php


$idnum = $_POST['idnum'];
.....

?>
还要注意单引号/双引号。在原始代码中,数据的结果将是字符串“
idnum=”+this.val+”
”。由双引号括起来的单引号包含在字符串中,在将代码区域从字符串区域拆分时没有任何效果