如何将参数从div类中的div元素传递给AJAX,然后传递给PHP

时间:2018-10-12 08:40:50

标签: javascript jquery html

我想通过单击包含的div将div的值传递给AJAX。我想单击div类self并将每个元素的div类identity传递给AJAX,以用于从PHP程序中检索数据。

如何将div类identity元素中的文本传递给jQuery中的data

<div class="self">
  <div class="identity">1234</div>
  Helo
</div>
<div class="self">
  <div class="identity">3444</div>
  Helo
</div>
<div class="self">
  <div class="identity">7845</div>
  Helo
</div>
$(".self").on("click", function(event) {
  event.stopPropagation();
  $.ajax({
    url: "post.php",
    data: {
      id: // need to pass the value for identity here
    },
    type: "POST",
    dataType: "json", // The type of data I expect back
  }).done(function(json) {
    $("<h1>").text(json.title).appendTo("body");
    $("<div class=\"content\">").html(json.html).appendTo("body");
  }).fail(function(xhr, status, errorThrown) {
    alert("Sorry, there was a problem!");
    console.log("Error: " + errorThrown);
    console.log("Status: " + status);
    console.dir(xhr);
  }).always(function(xhr, status) {
    alert("The request is complete!");
  });
})

2 个答案:

答案 0 :(得分:1)

您可以使用DOM遍历来查找与引发点击事件的.identity相关的.self。具体来说,是find()方法。然后,您可以使用text()来获取内容。试试这个:

data: {
  id: $(this).find('.identity').text()
},

答案 1 :(得分:1)

您可以做这样的事情 scanner.close();

let id = $(this).children('.identity').text() 但是,在使用它之前,应将其修剪或解析为int。这取决于。

let id = $(this).find('.identity').text();

我还将建议您使用诸如属性设置器之类的东西。

let identity_id = parseInt(id);

这是

<div class="identity" data-identity = "3444">3444</div>