2016-03-02 66 views
0

所以我有一個表,其中顯示我的遊戲服務器上的所有在線玩家和我有安裝一個腳本,可以巴掌,踢,他們靜音等,我想用JS有一個下拉列表在在線玩家表,讓我巴掌,踹memnu,他們靜音等,但我不知道如何$ playerid變量POST到腳本,使其摑球員。發佈PHP變量點擊

這裏是我的表 當巴掌踢或靜音按鈕被點擊我想它張貼$ 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) { 
 
    }); 
 
\t return false; 
 
}
\t \t echo "<td align=center> $team </td>"; 
 
\t \t echo "<td align=center><a href='user.php?id=".$row["DBID"]."' > $name </a></td>"; 
 
\t \t echo "<td align=center> $group </td>"; 
 
\t \t echo "<td align=center> $score </td>"; 
 
\t \t echo "<td align=center> $ip </td>"; 
 
\t \t echo "<td align=center>"; 
 
\t \t echo "<div class=dropdown>"; 
 
\t \t echo "<button class=dropbtn>Dropdown</button>"; 
 
\t \t echo "<div class=dropdown-content onchange='this.form.submit()'>"; 
 
\t \t echo "<a id=myLink href=# onclick='slap();return false;'>Slap</a>"; 
 
\t \t echo "<a id=myLink href=# onclick='kick();return false;'>Kick</a>"; 
 
\t \t echo "<a id=myLink href=# onclick='mute();return false;'>Mute</a>"; 
 
\t \t echo "</div>"; 
 
\t \t echo "</div>"; 
 
\t \t echo "</td>"; 
 
\t \t echo "</tr>";

+0

在函數調用中包含playerid會不會更容易?即onclick ='slap({$ playerid}); return false;' BTW,ID是假設是獨一無二的,所以你 JonnyUK

+0

你是什麼意思'身份證不起作用'?你也改變了函數調用的功能耳光(playerid){$。員額( 「../ Q3/slap.php」,{playerid:playerid},功能(數據){}); \t返回false;} – jeff

回答

0

必須先改變你的HTML代碼。不要使用更多的1次相同的ID,並通過與數據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 
    } 
}); 

編輯:您的代碼... 必須在2個文件分開JS和PHP。我沒有測試過代碼,因此請確保將代碼正確添加到代碼中。

 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 
      } 
     }); 

    }); 
}); 
+0

我的jQuery的作品,我只是不知道如何鏈接到發佈信息的「巴掌」鏈接被點擊 – JonnyUK

+0

當我修改我的迴應。我認爲第一步是正確地寫你的DOM :) – Xenofexs

+0

對不起。我是JS的noob,我需要編輯哪些代碼? :P,非常感謝你的協助 – JonnyUK