Как использовать this.val в параметре данных функции jquery ajax - PullRequest
1 голос
/ 09 мая 2011
$('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 Ответ

4 голосов
/ 09 мая 2011

Поскольку функция является событием (blur) входа, this внутри функции будет ссылаться на объект DOM input.

Для доступа к функциям jQuery, таким как val(), вам необходимо преобразовать его в объект jQuery. Для этого просто добавьте this в $() аксессор: $(this). Это имеет точно такой же результат $('input[name=id_num]'), но быстрее, так как jQuery не нужно выполнять поиск в списке объектов.

Строка data будет выглядеть следующим образом:

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

Также будьте осторожны с одинарными / двойными кавычками. В вашем исходном коде результатом для данных будет строка "idnum= ' + this.val + '". Одинарные кавычки, заключенные в двойные кавычки, включаются в строку и не влияют на разделение области кода от области строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...