2017-03-11 113 views
0

嗨,大家好,我想獲得一個按鈕的id是在for循環,所以每當按鈕點擊唯一的ID可以區別於其他ID應該能夠工作。讓我告訴你我的代碼。如何動態獲取按鈕ID?

<?php foreach ($message as $key) : ?> 
            <?php echo $senders_user_id=$key['senders_id']; ?> 
            <div class="senders_id" S_id="<?php echo $key['senders_id']; ?>" style="display: none;"></div> 
          <a class="list-group-item"> 
          <div class="checkbox"> 
          <label> 
          <?php echo form_open(,['id'=>'sender_user_id']); ?> 
           <input type="checkbox"> 
           <button id="senders_id" class="Read" S_id="<?php echo $key['senders_id'];?>" onclick="readbyuser($senders_user_id);">Read</button> 
           <button id="senders_id" class="unread" S_id="<?php echo $key['senders_id'];?>" onclick="unreadbyuser($senders_user_id);">Unread</button> 

          </label> 
          </div>   

         <span class="glyphicon glyphicon-star-empty"></span><span class="name" style="min-width: 120px; 
          display: inline-block;"><?php echo $key['uname']; ?></span> <span class=""><?php echo $key['textdata']; ?></span> 
         <span class="text-muted" style="font-size: 11px;"></span> <span class="badge">12:10 AM</span> <span class="pull-right"><span class="glyphicon glyphicon-paperclip"> 
         <?php echo form_close(); ?> 
          </span></span></a> 
             <?php endforeach; ?> 
        </div> 

現在,這裏有三個職位意味着三個「senders_id」所以,當我點擊按鈕查看該ID應該通過,但相同的ID再次傳球和一次不管是哪個按鈕,我點擊

這裏是我的代碼

function readbyuser() 
{ 
    var senders_id=$('#senders_id').attr('S_id'); 
    var Recievers_id=$('.Recievers_id').attr('R_id'); 
jQuery.ajax({ 
      type:'post', 
      url:'<?php echo base_url("user/read_by_user"); ?>', 
      data:{id:senders_id,R_id:Recievers_id}, 
      dataType:'json', 
      success:function(data) 
      { 
       console.log(data); 

       alert(data); 

       $('.unread').removeClass('unread_user'); 
       $('.Read').addClass('read_user'); 


      } 


     }); 

} 
function unreadbyuser() 
{ 
var senders_id=$('#senders_id').attr('S_id'); 
    var Recievers_id=$('.Recievers_id').attr('R_id'); 
jQuery.ajax({ 
      type:'post', 
      url:'<?php echo base_url("user/unread_by_user"); ?>', 
      data:{id:senders_id,R_id:Recievers_id}, 
      dataType:'json', 

      success:function(data) 
      { 



    $('.Read').removeClass('read_user'); 
    $('.unread').addClass('unread_user'); 
    } 
}); 
} 

,請告訴我,我做錯了

+4

請清理它,併爲我們提供了一個直接的問題。沒有人會爲你編排這些亂碼。 –

+0

努力提供一個簡單的例子。人們避開與問題無關的代碼牆。是否包含必要的註釋代碼?如果不是這個問題,爲什麼呢? – apokryfos

+0

同意@BlakeConnally和apokryfos,不幸的是人們仍然不會閱讀發佈問題的指導原則。但是我們會幫他還是投票給他,因爲這個問題的格式不正確? –

回答

0
<button id="senders_id" class="Read" S_id="<?php echo $key['senders_id'];?>" onclick="readbyuser($senders_user_id);">Read</button> 


<button id="senders_id" class="unread" S_id="<?php echo $key['senders_id'];?>" onclick="unreadbyuser($senders_user_id);">Unread</button> 

兩個元素不能有同一個id。改爲使用類名稱。

你也可以直接在這裏傳遞PHP值。

onclick="readbyuser($senders_user_id);"

onclick="readbyuser(<?php echo $key['senders_id'];?>);"

+0

但我想要的ajax結果顯示在所有按鈕上,即使當我點擊id = 3的按鈕時,id = 9的按鈕也會改變它的顏色@Akshay Praksh –