我使用PHP循环使用多个ID填充多个DIV,
foreach($usernotes_array as $usernote)
{
?>
<div class="todo-tasklist-item todo-tasklist-item-border-red" id="usernotebox<?php echo $usernote['thread_id'];?>">
<p>somenote</p>
<a href="javascript:removeusernote();"><i class="fa fa-trash-o pull-right"></i></a>
</div>
<?php
}
?>
每个tread_id重复此循环,
现在我添加了一个带JS功能的删除按钮, 此函数将执行AJAX调用以从DB中删除注释,并且还应从HTML中删除DIV,
以下是我要删除注释的JS,
function removeusernote(){
jQuery.ajax({
url: "<?php echo base_url(); ?>index.php/phase/user/deleteusernote/"+<?php echo $userinfo->user_id; ?>,
data: {userthread_id:<?php echo $usernote['thread_id'];?>},
type: "POST",
success:function(data){
var objData = jQuery.parseJSON(data);
if(objData.cival == 1)
{
$("#usernotescounts").text(objData.usernotecounts);
}
else
{
....
}
}
});
$( "#usernotebox<?php echo $usernote['thread_id'];?>" ).remove();
}
现在我的问题是,如何获得我点击删除按钮的div的ID? 例如,有3个div,ID为usernotebox1,2,3 现在,当我点击usernotebox1时,我应该删除该ID以及thread_id号码,这样我就可以将其传递给DB以便服务器端删除,
我可以通过将我的JS放在PHP循环中来实现这一点,但我不想为每个div循环JS,
有人可以帮助如何动态删除DIV吗?
谢谢,
答案 0 :(得分:0)
使用:
$(this).parent().remove();
$(this)将选择当前元素。 .parent()将找到作为div的当前元素的父元素。最后.remove()将删除你的div。
或者你也可以通过类名找到你的div:
$(this).parents().find('.classname').remove();
编辑:使用“removeusernote(this)”
等功能添加此功能foreach($usernotes_array as $usernote)
{
?>
<div class="todo-tasklist-item todo-tasklist-item-border-red" id="usernotebox<?php echo $usernote['thread_id'];?>">
<p>somenote</p>
<a href="javascript:removeusernote(this);"><i class="fa fa-trash-o pull-right"></i></a>
</div>
<?php
}
?>
在你的功能中执行此操作:
removeusernote(sender){
$(sender).parent().remove(); //this will remove your div
//after this you can continue with your code
}
答案 1 :(得分:0)
有一个简单的逻辑,您只需将唯一ID传递给锚标记,如:
<a href="javascript:removeusernote(<?php echo $usernote['thread_id'];?>);"><i class="fa fa-trash-o pull-right"></i></a>
并将您的功能更改为:
function removeusernote(id){
$( "#usernotebox"+id).remove();
}
由于
答案 2 :(得分:0)
//This only works for div's with a class
$("[element]").on("click", function() {
$(this).removeClass("[className]");
});