2017-03-11 65 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 –