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

时间:2011-05-08 23:49:52

标签: jquery ajax

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

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

});

我的data_fetcher.php如下所示:

<?php


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

?>

1 个答案:

答案 0 :(得分:4)

由于函数是输入的事件(blur),函数内的this将引用DOM对象input

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

data行将如下所示:

data: "idnum=" + $(this).val(),

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