Javascript 使用JSON回复和jQuery从列表中删除
我有这个项目列表,我在底部有一个按钮,用于根据复选框删除其中一些项目。 我还收到一个jQuery get()的响应,其中包含表示新列表的元素。 因此,其余部分需要移除。 我的列表是这样建立的:Javascript 使用JSON回复和jQuery从列表中删除,javascript,jquery,json,Javascript,Jquery,Json,我有这个项目列表,我在底部有一个按钮,用于根据复选框删除其中一些项目。 我还收到一个jQuery get()的响应,其中包含表示新列表的元素。 因此,其余部分需要移除。 我的列表是这样建立的: <table style="float:left;width:100%"> <tbody> <?php foreach ($items as $item): ?> <tr> <div> &l
<table style="float:left;width:100%">
<tbody>
<?php foreach ($items as $item): ?>
<tr>
<div>
<td ?>;
<input type="checkbox" name="item_<?php echo $item['NAME'];?>" value="<?php echo $item['ID'];?>" />
</td>
</div>
</tr>
<?php endforeach; ?>
</tbody>
我现在想做的只是消除输入值(json的ID)不在json回复中的对应代码
你知道如何使用jQuery实现这一点吗?
谢谢 有几种不同的方法可以做到这一点。我有点喜欢查看您的json响应,标记那些已确认的,删除那些未确认的,然后删除已确认的标记。e、 g
var json = [{'id':'2','email':... }];
// first, flag what we DO have
$.each(json,function(n,r){
var $i = $(':input[value="' + r.ID + '"]');
if ($i.length > 0){
$i.addClass('ajax-confirmed');
}
});
// delete what hasn't been flagged
$(':input:not(.ajax-confirmed)').each(function(m,r){
var $row = $(r).closest('tr');
$row.remove();
});
// then remove the flag (cleanup)
$(':input.ajax-confirmed').removeClass('ajax-confirmed');
小提琴在动作中显示它:(或者如果你想感觉你正在删除它……)PS,
标记在
和
之间没有位置——我想你需要反转
点……我在tr中有更多的元素,(为了可读性,我简化了表格)。我试着让这些元素一个接一个地显示出来,有什么建议吗?出于某种原因,它正在删除所有的行。@Ted:你有我可以看到的网页吗?或者你可以粘贴你所拥有的东西(也许是你自己制作的小提琴?)这是网站上的实际代码。而且它在JSFIDLE上也不起作用
var json = [{'id':'2','email':... }];
// first, flag what we DO have
$.each(json,function(n,r){
var $i = $(':input[value="' + r.ID + '"]');
if ($i.length > 0){
$i.addClass('ajax-confirmed');
}
});
// delete what hasn't been flagged
$(':input:not(.ajax-confirmed)').each(function(m,r){
var $row = $(r).closest('tr');
$row.remove();
});
// then remove the flag (cleanup)
$(':input.ajax-confirmed').removeClass('ajax-confirmed');