从中删除..自

Remove from ... to

本文关键字:删除      更新时间:2023-09-26

所以我有一个问题:我需要从一个标签到另一个标签删除"信息",包括它之间的文本。

所以在 html 中的某个地方是:

<input type="radio" rel="1" value="Surname1" name="lastnames">Surname1<br>
<input type="radio" rel="2" value="Name2" name="lastnames">Name2<br>
<input type="radio" rel="3" value="lol" name="lastnames">lol<br>
<input type="radio" rel="4" value="lol2" name="lastnames">lol2<br>

例如:

var current_id = $('input:checked:radio').attr('rel');
$.get('index.php?delete_by_id='+current_id);
$("input:radio[rel='"+current_id+"']").remove();

因此,发送GET到php后,我需要从无线电列表中删除已删除的项目。输入一切正常,但是名字在他旁边我有问题......

附言。我知道,这种情况很愚蠢,但我没有任何时间重写它,直到明天(考试)

span 元素包装标签。

<input type="radio" rel="1" value="Surname1" name="lastnames"><span>Surname1</span><br>
<input type="radio" rel="2" value="Name2" name="lastnames"><span>Name2</span><br>

然后在删除时,获取下一个跨度并将其删除

var item=$('input:checked:radio');
var current_id = item.attr('rel');
$.get('index.php?delete_by_id='+current_id,function(data){
   item.remove();
   item.next("span").remove();
});

保留删除/更新功能的 HttpPost 操作始终是一种很好的做法。否则,如果知道项目 ID 的任何人都可以从您的数据库中删除记录,只需在浏览器中使用这些查询字符串执行您的页面即可。

不确定您要做什么和/或为什么它不起作用,但请考虑像这样编写代码:

var $selected_radio = $('input:radio:checked'); // store element reference
$.get('index.php?delete_by_id=' + $selected_radio.attr('rel'), function() {
    // use a callback function to only remove if code succeeds
    $selected_radio.remove();
});

编辑:回顾过去,我看到您想删除输入及其标签。你只需要把你的HTML修复成它实际应该的样子:

<label>
    <input type="radio" rel="1" value="Surname1" name="lastnames"> Surname1
</label>

然后,这使得jQuery中的删除代码看起来像:

$selected_radio.closest('label').remove();

我通常总是使用标签来显示连接到单选按钮的文本:

<input id="radio1" type="radio" rel="1" value="Surname1" name="lastnames"><label for="radio1">Surname1</label><br>
<input id="radio2" type="radio" rel="2" value="Name2" name="lastnames"><label for="radio2>Name2</label><br>
<input id="radio3" type="radio" rel="3" value="lol" name="lastnames"><label for="radio3">lol</label><br>
<input id="radio4" type="radio" rel="4" value="lol2" name="lastnames"><label for="radio4">lol2</label><br>

然后你可以在你的javascript代码中这样做:

var current_rel = $('input:checked:radio').attr('rel'),
    current_id = $('input:checked:radio').attr('id');
$.get('index.php?delete_by_id='+current_rel);
$('#' + current_id + ', label[for="' + current_id + '"]).remove();