1
<html>
<head>
<script type="text/javascript">
function removeLink(i)
{
    document.getElementById("tab2").deleteRow(i);
}
</script>


</head>
<body>
<form action="forth.php" method="post">
<table width="600" border="1" id="tab2">


<?php

    foreach($_POST as $key => $post2)
    {
    ?>
    <tr>
    <td>
    <?php
    echo $post2.'<br />';
    ?>
    <input type="hidden" name="<?php echo $key;?>" value="<?php echo $post2;?>" />

    </td>
    <td><a href="#" onClick="removeLink(this.parentNode.parentNode.rowIndex);">Remove</a></td>
    </tr>
    <?php

    }

    ?>
    <tr>
    <td><input type="submit" value="Next" /></td>
    <td>&nbsp;</td>
  </tr>
  </table>

</form>
</body>

伙计们,您可以看到我的锚标记具有 removeLink() 的 onclick 功能,但它并没有按预期删除整个 tr。当我单击锚生成的链接时,它不执行任何操作。是否存在诸如锚不支持 removeLink(this.parentNode.parentNode.rowIndex) 中定义的内部对象之类的问题?伙计们帮忙怎么做

4

2 回答 2

1

使用 Jquery。包括<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

试试这个

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('.deleteMe').click(function(){
        $(this).parent().parent().remove();
        //or u can hide that like $(this).parent().parent().hide.();
    })
});

</script>


</head>
<body>
<form action="forth.php" method="post">
<table width="600" border="1" id="tab2">


<?php

    foreach($_POST as $key => $post2)
    {
    ?>
    <tr>
    <td>
    <?php
    echo $post2.'<br />';
    ?>
    <input type="hidden" name="<?php echo $key;?>" value="<?php echo $post2;?>" />

    </td>
    <td><a href="#" class="deleteMe">Remove</a></td>
    </tr>
    <?php

    }

    ?>
    <tr>
    <td><input type="submit" value="Next" /></td>
    <td>&nbsp;</td>
  </tr>
  </table>

</form>
</body>
于 2012-05-04T05:34:51.890 回答
0

首先在您的锚点 onclick 行中更改以下代码。

onClick="removeLink(this);">

然后试试这个。

<script type="text/javascript">
function removeLink(obj){
var par=obj.parentNode;
while(par.nodeName.toLowerCase()!='tr'){
par=par.parentNode;
}
i = par.rowIndex;
document.getElementById("tab2").deleteRow(i);
}
</script> 
于 2012-05-04T05:37:05.940 回答