使用jQuery通过按钮单击隐藏“li”标签

时间:2013-09-27 06:43:32

标签: php jquery html css

我的代码如下:

 <ul class="classul">  
 <?php
    $uid = $_REQUEST['uid'];
    include("lib/db_function.php"); 
    $query = "SELECT * FROM tblproject";
    $exc = mysql_query($query) or die (mysql_error());
    while($val = mysql_fetch_array($exc)){
?>                  
    <li id="li<?php echo $val['projectId']?>"><a href="#<?php echo $val['projectId']?>"><?php echo $val['projectName']?></a></li>

   <?php } ?> 
    <li><img src="images/Plus-icon.png" width="30" height="30" id="addproject"></li> 
   <input type="hidden" name="uidhide" id="uidhide" value="<?php echo $uid;?>">
</ul> 



    <?php   
$qry ="SELECT * FROM tblproject";
    $re = mysql_query($qry) or die (mysql_error());
    while($data = mysql_fetch_array($re)){
?>  
<script language="javascript">
$(document).ready(function(e) {
    var ul = $('.classul li').addClass('<?php echo $data['projectId'];?>');
            $("#hideproject<?php echo $data['projectId'];?>").click(function(e) {
                ul.remove();


            });
});
   </script>
 <input type="button" name="hideproject" id="hideproject<?php echo $data['projectId'];?>" value="Hide Project">
<?php 
}
?>

问题:当我点击按钮隐藏项目时,它会隐藏所有li tag

我需要的内容:当我点击按钮隐藏项目时,我只想隐藏一个li tag,其中包含我自己在php生成的ID。

3 个答案:

答案 0 :(得分:0)

试试这个

<script language="javascript">
$(document).ready(function(e) {
    var ul = $('.classul li').addClass('<?php echo $data['projectId'];?>');
            $("#hideproject<?php echo $data['projectId'];?>").click(function(e) {
                ul.remove();
$(this).addClass('.classul'); // add this line


            });
});
   </script>

答案 1 :(得分:0)

尝试:

//ul.remove();
$("#li"+<?php echo $data['projectId'];?>).hide();

答案 2 :(得分:0)

由于

,'ul'变量保存完整的ul列表(即所有li元素)
$('.classul li')

返回所有li。当你打电话给.remove时,它已被删除。

如果更改很少,您可以尝试将上述代码更改为

$('.classul li#'<?php echo $data['projectId']; ?>)

此外,循环数据库查询结果集生成HTML代码是不好的,循环生成混有PHP代码的Javascript代码,如果不是最差的话会更糟。