2016-06-17 121 views
-4

我有一个从数据库动态生成的员工列表,每个员工都有一个id,现在我想在每次点击时打开关于id的将他们的ID显示在该框中。 我无法访问与所选id相关的div。将php变量赋值给div id并使用jquery访问它

 include 'connect.php'; 
$ert=mysql_query("Select * from login_session where bit='0' and date='$date'") or die(mysql_error()); 
while($we=mysql_fetch_array($ert)){ 
          $employee_id=$we['employee_id']; 
?> 

<li> <a href="#" data-employee="<?php echo $we['employee_id']; ?>" class="addClass"><?php echo $we['name'];?></a></li> 
<div class="popup-box chat-popup" id="employee_<?php echo $employee_id; ?>"> 
      <div class="popup-head"> 
       <div class="popup-head-left pull-left"><img src="http://bootsnipp.com/img/avatars/bcf1c0d13e5500875fdd5a7e8ad9752ee16e7462.jpg" alt="iamgurdeeposahan"> Gurdeep Osahan 

       </div> 
       <div class="popup-head-right pull-right"> 
        <div class="btn-group"> 
            <button class="chat-header-button" data-toggle="dropdown" type="button" aria-expanded="false"> 
             <i class="glyphicon glyphicon-cog"></i> </button> 
             <ul role="menu" class="dropdown-menu pull-right"> 
             <li><a href="#">Media</a></li> 
             <li><a href="#">Block</a></li> 
             <li><a href="#">Clear Chat</a></li> 
             <li><a href="#">Email Chat</a></li> 
             </ul> 
        </div> 

         <button data-widget="remove" class="removeClass chat-header-button pull-right" type="button"><i class="glyphicon glyphicon-off"></i></button> 
       </div> 
      </div> 
      <div class="popup-messages"> 

      <div class="direct-chat-messages"> 
        <div class="chat-box-single-line"> 
           <abbr class="timestamp">October 8th, 2015</abbr> 
        </div> 
        <!-- Message. Default to the left --> 
        <div class="direct-chat-msg doted-border"> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-name pull-left">Osahan</span> 
         </div> 
         <!-- /.direct-chat-info --> 
         <img alt="message user image" src="http://bootsnipp.com/img/avatars/bcf1c0d13e5500875fdd5a7e8ad9752ee16e7462.jpg" class="direct-chat-img"><!-- /.direct-chat-img --> 
         <div class="direct-chat-text"> 
         Hey bro, how’s everything going ? 
         </div> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-timestamp pull-right">3.36 PM</span> 
         </div> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-img-reply-small pull-left"> 

         </span> 
         <span class="direct-chat-reply-name">Singh</span> 
         </div> 
         <!-- /.direct-chat-text --> 
        </div> 
        <!-- /.direct-chat-msg --> 
        <div class="chat-box-single-line"> 
         <abbr class="timestamp">October 9th, 2015</abbr> 
        </div> 
      <!-- Message. Default to the left --> 
        <div class="direct-chat-msg doted-border"> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-name pull-left">Osahan</span> 
         </div> 
         <!-- /.direct-chat-info --> 
         <img alt="iamgurdeeposahan" src="http://bootsnipp.com/img/avatars/bcf1c0d13e5500875fdd5a7e8ad9752ee16e7462.jpg" class="direct-chat-img"><!-- /.direct-chat-img --> 
         <div class="direct-chat-text"> 
         Hey bro, how’s everything going ? 
         </div> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-timestamp pull-right">3.36 PM</span> 
         </div> 
         <div class="direct-chat-info clearfix"> 
          <img alt="iamgurdeeposahan" src="http://bootsnipp.com/img/avatars/bcf1c0d13e5500875fdd5a7e8ad9752ee16e7462.jpg" class="direct-chat-img big-round"> 
         <span class="direct-chat-reply-name">Singh</span> 
         </div> 
         <!-- /.direct-chat-text --> 
        </div> 
        </div> 
       </div> 
      <div class="popup-messages-footer"> 
       <textarea id="status_message" placeholder="Type a message..." rows="10" cols="40" name="message"></textarea> 
       <div class="btn-footer"> 
       <button class="bg_none"><i class="glyphicon glyphicon-film"></i> </button> 
       <button class="bg_none"><i class="glyphicon glyphicon-camera"></i> </button> 
       <button class="bg_none"><i class="glyphicon glyphicon-paperclip"></i> </button> 
       <button class="bg_none pull-right"><i class="glyphicon glyphicon-thumbs-up"></i> </button> 
       </div> 
      </div> 
     </div> 
<script> 
    $(function(){ 
$(".addClass").click(function() { 
      var var1=$(this).data('employee'); 
      $('#employee_'+var1).addClass('popup-box-on'); 
      }); 

$(".removeClass").click(function() { 
      var var1=$(this).data('employee'); 
      $('#employee_'+var1).removeClass('popup-box-on'); 
      }); 
    }) 


</script> 
+3

好了,什么是问题? – Epodax

+0

我无法访问与所选雇员相关的div –

+0

您应该写var var1 = $(this).attr('id');无需调用php变量。 –

回答

0

首先,锚标记<a>带班.addClass里面,你正在使用$we['employee_id'],然后你使用$employee_id其为null,各自的盒子里,结果未定义的变量错误。

你应该给触发器和目标选择器一个unqiue标识符,比如.addClass,你可以使用data属性来追加数据来定位某些东西。看看下面:

<a href="#" data-employee="<?php echo $we['employee_id']; ?>" class="addClass"><?php echo $we['name'];?></a> 

,然后相应的盒ID,你可以指定一个唯一的ID它是这样的:

<div class="popup-box chat-popup" id="employee_<?php echo $employee_id; ?>"> 

,并在使用Javascript/jQuery的内结束,您可以用data触发它们属性值以及放置我们为目标div创建的唯一标识符。比如说.addClassdata属性包含34,这是一个员工ID,而.popup-box将有id="employee_34",因为我们需要用一些独特的东西来标识它们,而不仅仅是数字。

$(function(){ 
    $(".addClass").click(function() { 
      var var1=$(this).data('employee'); 
      $('#employee_'+var1).addClass('popup-box-on'); 
      }); 
    }); 

末你PHP和HTML代码应该是这样的:

include 'connect.php'; 
$ert=mysql_query("Select * from login_session where bit='0' and date='$date'") or die(mysql_error()); 
while($we=mysql_fetch_array($ert)){ 
          ?> 
<li> <a href="#" data-employee="<?php echo $we['employee_id']; ?>" class="addClass"><?php echo $we['name'];?></a></li> 
<div class="popup-box chat-popup" id="employee_<?php echo $employee_id; ?>"> 
      <div class="popup-head"> 
       <div class="popup-head-left pull-left"><img src="http://bootsnipp.com/img/avatars/bcf1c0d13e5500875fdd5a7e8ad9752ee16e7462.jpg" alt="iamgurdeeposahan"> Gurdeep Osahan 

       </div> 
       <div class="popup-head-right pull-right"> 
        <div class="btn-group"> 
            <button class="chat-header-button" data-toggle="dropdown" type="button" aria-expanded="false"> 
             <i class="glyphicon glyphicon-cog"></i> </button> 
             <ul role="menu" class="dropdown-menu pull-right"> 
             <li><a href="#">Media</a></li> 
             <li><a href="#">Block</a></li> 
             <li><a href="#">Clear Chat</a></li> 
             <li><a href="#">Email Chat</a></li> 
             </ul> 
        </div> 

         <button data-widget="remove" id="removeClass" class="chat-header-button pull-right" type="button"><i class="glyphicon glyphicon-off"></i></button> 
       </div> 
      </div> 
      <div class="popup-messages"> 

      <div class="direct-chat-messages"> 
        <div class="chat-box-single-line"> 
           <abbr class="timestamp">October 8th, 2015</abbr> 
        </div> 
        <!-- Message. Default to the left --> 
        <div class="direct-chat-msg doted-border"> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-name pull-left">Osahan</span> 
         </div> 
         <!-- /.direct-chat-info --> 
         <img alt="message user image" src="http://bootsnipp.com/img/avatars/bcf1c0d13e5500875fdd5a7e8ad9752ee16e7462.jpg" class="direct-chat-img"><!-- /.direct-chat-img --> 
         <div class="direct-chat-text"> 
         Hey bro, how’s everything going ? 
         </div> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-timestamp pull-right">3.36 PM</span> 
         </div> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-img-reply-small pull-left"> 

         </span> 
         <span class="direct-chat-reply-name">Singh</span> 
         </div> 
         <!-- /.direct-chat-text --> 
        </div> 
        <!-- /.direct-chat-msg --> 
        <div class="chat-box-single-line"> 
         <abbr class="timestamp">October 9th, 2015</abbr> 
        </div> 
      <!-- Message. Default to the left --> 
        <div class="direct-chat-msg doted-border"> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-name pull-left">Osahan</span> 
         </div> 
         <!-- /.direct-chat-info --> 
         <img alt="iamgurdeeposahan" src="http://bootsnipp.com/img/avatars/bcf1c0d13e5500875fdd5a7e8ad9752ee16e7462.jpg" class="direct-chat-img"><!-- /.direct-chat-img --> 
         <div class="direct-chat-text"> 
         Hey bro, how’s everything going ? 
         </div> 
         <div class="direct-chat-info clearfix"> 
         <span class="direct-chat-timestamp pull-right">3.36 PM</span> 
         </div> 
         <div class="direct-chat-info clearfix"> 
          <img alt="iamgurdeeposahan" src="http://bootsnipp.com/img/avatars/bcf1c0d13e5500875fdd5a7e8ad9752ee16e7462.jpg" class="direct-chat-img big-round"> 
         <span class="direct-chat-reply-name">Singh</span> 
         </div> 
         <!-- /.direct-chat-text --> 
        </div> 
        </div> 
       </div> 
      <div class="popup-messages-footer"> 
       <textarea id="status_message" placeholder="Type a message..." rows="10" cols="40" name="message"></textarea> 
       <div class="btn-footer"> 
       <button class="bg_none"><i class="glyphicon glyphicon-film"></i> </button> 
       <button class="bg_none"><i class="glyphicon glyphicon-camera"></i> </button> 
       <button class="bg_none"><i class="glyphicon glyphicon-paperclip"></i> </button> 
       <button class="bg_none pull-right"><i class="glyphicon glyphicon-thumbs-up"></i> </button> 
       </div> 
      </div> 
     </div> 

    <?php } ?> 

和JavaScript代码如下图所示:

$(function(){ 
    $(".addClass").click(function() { 
      var var1=$(this).data('employee'); 
      $('#employee_'+var1).addClass('popup-box-on'); 
      }); 
    }); 

,做这样相同的去除分别为员工分组的框。

注意

随着弹出框格的是多重的,已经在DOM里面,你不应该删除触发器使用id选择,因为这将只针对第一个div而不是其他人,使用类除去股利,以及诸如removeBox

更新删除

为了除去股利,不使用ID为除去股利,改变你的删除按钮的以下:

<button data-widget="remove" data-employee="<?php echo $we['employee_id']; ?>" class="chat-header-button removeClass pull-right" type="button"><i class="glyphicon glyphicon-off "></i></button> 

,并使用下面的jQuery代码去除DIV

$(function(){ 
    $(".removeClass").click(function() { 
      var var1=$(this).data('employee'); 
      $('#employee_'+var1).removeClass('popup-box-on'); 
      }); 
    }); 
+0

hi..thanks对你有所帮助的主要功能部分,但仍股利箱没有出现 –

+0

检查浏览器的控制台,并告诉我你得到哪些错误? ,并且是从php附加到属性正确的ID? –

+0

hey..thanks..Now其工作,但我不能够去除调用讲座“removeClass”股利。我已经添加了与div中提到的相同的id。 –