所以我有一个表格,显示我游戏服务器上的所有在线玩家,我已经设置了一个脚本,可以Slap,Kick,Mute等等,我正在尝试使用JS在在线玩家表上有一个下拉memnu这让我啪啪,踢,静音等等但我不知道如何将$ playerid变量发布到脚本中以便它击败玩家。
这是我的桌子 当点击一巴掌或静音按钮时,我希望将$ playerid发布到q3 / slap.php文件
http://i.stack.imgur.com/lou3N.png
这是我的代码
function slap(){
var playerid = $("#playerid").val();
$.post("../q3/slap.php", { playerid: playerid }, function ( data ) {
});
return false;
}
echo "<td align=center> $team </td>";
echo "<td align=center><a href='user.php?id=".$row["DBID"]."' > $name </a></td>";
echo "<td align=center> $group </td>";
echo "<td align=center> $score </td>";
echo "<td align=center> $ip </td>";
echo "<td align=center>";
echo "<div class=dropdown>";
echo "<button class=dropbtn>Dropdown</button>";
echo "<div class=dropdown-content onchange='this.form.submit()'>";
echo "<a id=myLink href=# onclick='slap();return false;'>Slap</a>";
echo "<a id=myLink href=# onclick='kick();return false;'>Kick</a>";
echo "<a id=myLink href=# onclick='mute();return false;'>Mute</a>";
echo "</div>";
echo "</div>";
echo "</td>";
echo "</tr>";
答案 0 :(得分:0)
您必须先更改您的html代码。不要多次使用相同ID的1次,并使用data-xxx属性传递参数
你可以这样做:
HTML
<div class="action" data-id-player="<?php echo $playerid ?>">
<ol>
<li><a href="" data-action="slap">slap</a></li>
<li><a href="" data-action="kick">kick</a></li>
<li><a href="" data-action="mute">mute</a></li>
</ol>
</div>
你的jQuery脚本:
$('.action').on('click', 'a',function(){
var playerid = $(this).parent().attr('data-id-player');
var action = $(this).attr('data-action');
var url ='';
switch(action) {
case 'slap':
url = 'slap.php';
break;
case 'kick':
url = 'kick.php';
break;
case 'mute':
url = 'mute.php';
break;
default:
break;
}
});
$.ajax({
url : href,
method: "POST",
async : false,
data: { your_data(the id of player) }
success : function(response){
// Do somethings
}
});
编辑:你的代码...... 您必须将JS和PHP分成2个文件。我没有对代码进行测试,因此请务必将其正确添加到您的代码中。
echo "<td align=center> $team </td>";
echo "<td align=center><a href='user.php?id=".$row["DBID"]."' > $name </a></td>";
echo "<td align=center> $group </td>";
echo "<td align=center> $score </td>";
echo "<td align=center> $ip </td>";
echo "<td align=center>";
echo "<div class=dropdown>";
echo "<button class=dropbtn>Dropdown</button>";
echo "<div class=dropdown-content onchange='this.form.submit()'>";
?>
<div class="action" data-id-player="<?php echo $row["DBID"] ?>">
<ol>
<li><a href="" data-action="slap">slap</a></li>
<li><a href="" data-action="kick">kick</a></li>
<li><a href="" data-action="mute">mute</a></li>
</ol>
</div>
<?php
echo "</div>";
echo "</div>";
echo "</td>";
echo "</tr>";
jQuery(document).ready(function(){
$('.action').on('click', 'a',function(){
var playerid = $(this).parent().attr('data-id-player');
var action = $(this).attr('data-action');
var url ='';
switch(action) {
case 'slap':
url = 'slap.php';
break;
case 'kick':
url = 'kick.php';
break;
case 'mute':
url = 'mute.php';
break;
default:
break;
}
$.ajax({
url : "../q3/"+action,
method: "POST",
async : false,
data: { playerid: playerid) },
success : function(response){
// Do somethings
}
});
});
});