2012-06-04 44 views
0

所以我有一種問題:我需要從標籤中去除「信息」,包括標籤之間的文本。從...中刪除到

在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後,我需要從電臺列表中刪除要刪除的項目。隨着輸入都OK,但與他的名字我有問題...

PS。 我知道,這種情況很愚蠢,但我沒有時間重寫,直到明天(考試)

回答

1

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操作的刪除/更新功能。否則,只要通過瀏覽器中的查詢字符串執行頁面,任何人都可以從數據庫中刪除記錄。

+0

是的,關於我現在的功能,但此刻正在測試,所以不方便 – NoNameZ

1

不知道正是你正在嘗試做的和/或爲什麼它不工作,但考慮寫這樣的代碼:

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(); 
0

我ussually總是用一個標籤,以顯示文本連接到一個單選按鈕:

<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();