gpt4 book ai didi

javascript - 如何通过 PHP 在 AJAX 调用中发送多个数据?

转载 作者:行者123 更新时间:2023-11-30 12:03:11 25 4
gpt4 key购买 nike

我正在尝试发送多个数据,我正在连续点击几个链接。事情是这样的。

我有一个“分享”链接,如果我点击它,它会获得属性

$(".file").click(function(){ 
var elementFile = $(this);
var id = elementFile.attr("name");
});

接下来,单击此链接会打开一个 div (popDiv_share),其中列出了数据库中的所有用户。现在,如果我单击任何一个用户,我将获得其属性,就像上面使用的那样:

$(".userlist").click(function(){ 
var elementuser = $(this);
var id = elementuser.attr("id");
});

现在我坚持的是说,我点击第一个链接,它获得了属性。现在,当我单击 div 中的第二个链接时,它也获得了该属性,但随后第一个链接属性就消失了。我如何获得每个链接的两个属性,即使在背靠背点击它们之后,因为 $(this) 将仅引用当前被点击的链接,而前一个链接将丢失。

任何建议都会有很大帮助!!

这是我的代码:

<?php
session_start();
$user_id = $_SESSION['uid'];
include('db.php');

$sql = "SELECT * from registered_users";
$query = mysql_query($sql) or die(mysql_error());

$result = mysql_query("SELECT * FROM user_files_public where uid = $user_id");

?>

<!DOCTYPE html>
<html ng-app>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" type="text/css" href="style.css">
<script src="http://code.jquery.com/jquery-2.2.0.min.js"></script>

<script src = "http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="ajax-jaquery.js"></script>
<script type="text/javascript">

$(function(){
$(".file").click(function(){
$(".userlist").click(function(){
var elementUser = $(this);
var elementFile = $(".file").$(this);

var name = elementUser.attr("id");
var id = elementFile.attr("name");

var info='name='+name+'&id='+id;

$.ajax({
type: "POST",
url: "share.php",
data: info,
success: function(){
}
});
$(this).parents(".show").animate({ backgroundColor: "#003" }, "slow")
.animate({ opacity: "hide" }, "slow");
return true;
});
});
});

</script>

<style>

.ontop_share {
z-index: 999;
width: 900px;
height: 900px;
top: 0;
left: 0;
display: none;
position: absolute;
background-color: #cccccc;
color: #aaaaaa;
opacity: 1.9;
filter: alpha(opacity = 50);
}
#popup_share {
width: 900px;
height: 900px;
position: absolute;
color: #000000;
border: 2px solid red;
background-color: #ffffff;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -150px;
}

</style>
<script type="text/javascript">
function pop(div) {
document.getElementById(div).style.display = 'block';
}
function hide(div) {
document.getElementById(div).style.display = 'none';
}

</script>

</head>

<body>

<div id="popDiv_share" class="ontop_share">

<div id="popup_share">
<?php

while($row = mysql_fetch_array($query)){
$id = $row['id'];
$name =$row['first_name'];?>

<a href="" class="userlist" id="<?php echo $id;?>"><?php echo $id.' '.$name;?></a><?php
echo '<br/>';


}
?>
</div>
<a href="#" onClick="hide('popDiv_share')">Close</a>

</div>

<table id="repos" align="center" cellspacing="20px">


<thead>

<tr>
<th>File name</th>
<th>Share</th>
</tr>
</thead>


<?php

while($row = mysql_fetch_array($result)) {
$id=$row['id'];
$user_id = $row['uid'];
$filename =$row['user_file_name'];


?>

<tbody>
<tr>
<td id ="actions"><?php echo $filename; ?></td>

<td id ="actions">
<a name="<?php echo $filename;?>" class="file" href="#" onClick="pop('popDiv_share')">Share</a>
</td>


</tr>
</tbody>

<?php
}
?>
</table>

</body>
</html>

最佳答案

使用全局变量:

 var name;
$(".file").click(function(){
var elementFile = $(this);
name= elementFile.attr("name");


});
$(".userlist").click(function(){
var elementuser = $(this);
var id = elementuser.attr("id");
$.ajax({
type: "POST",
url: "share.php",
data: {
name: name,
id: id
},
success: function(){
}
});

});

或者遍历 DOM:

$(".userlist").click(function(){ 
var elementuser = $(this);
var id = elementuser.attr("id");
var name = $(this).closest('#popDiv_share').next('#repos').find('.file').attr("name");;
$.ajax({
type: "POST",
url: "share.php",
data: {
name: name,
id: id
},
success: function(){
}
});

});

关于javascript - 如何通过 PHP 在 AJAX 调用中发送多个数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36076965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com