我想通过单击包含的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!");
});
})
答案 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>