0

我的代码如下:

 <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

我需要什么:当我点击按钮 Hide Project 时,我只想隐藏一个li tag带有我自己生成的 id 的项目php

4

3 回答 3

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>
于 2013-09-27T06:46:45.603 回答
0

尝试:

//ul.remove();
$("#li"+<?php echo $data['projectId'];?>).hide();
于 2013-09-27T06:49:29.450 回答
0

'ul' 变量包含完整的 ul 列表(即所有 li 元素),因为

$('.classul li')

返回所有的 li。当你调用 .remove 时,所有的 li 都被删除了。

通过最小的更改,您可以尝试将上面的代码更改为

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

此外,循环数据库查询结果集生成 HTML 代码是不好的,循环生成与 PHP 代码混合的 Javascript 代码即使不是最坏的情况也更糟。

于 2013-09-27T06:52:24.863 回答