2013-03-01 27 views
0

我正在使用以下代碼將一個動態php菜單添加到表格單元格中。使用json添加和刪除動態php菜單

$("input:radio[id='l1_allowed_0']").click(function() { 

$(".l1_p1_action").append('<select name="pathway_actions[]" id="pathway_actions">'); 

$.getJSON('../scripts/get_pathway_actions.php', function (json) { 
$("#pathway_actions").empty(); 
$.each(json, function() { 
$("#pathway_actions").append(new Option(this.action)); 
}); 
}); 
}); 

我會用從$刪除菜單,說在( 「l1_p1_action。」):

$("input:radio[id='l1_allowed_1']").click(function() { 


}); 

編輯

我已經改變了代碼來創建的菜單,唯一的ID。兩個問題:

刪除不工作和一個新的菜單被每個單選按鈕被點擊時附加:

$("input:radio[id='l1_allowed_0']").click(function() { 

$(".l1_p2_actions").remove(); 
$(".l1_p3_actions").remove(); 
$(".l1_p4_actions").remove(); 

$(".l1_p1_action").append('<select name="l1_p1_actions" id="l1_p1_actions">'); 

$.getJSON('../scripts/get_pathway_actions.php', function (json) { 
$("#l1_p1_actions").empty(); 
$.each(json, function() { 
$("#l1_p1_actions").append(new Option(this.action)); 
}); 
}); 
}); 



$("input:radio[id='l1_allowed_1']").click(function() { 

$(".l1_p1_actions").remove(); 
$(".l1_p3_actions").remove(); 
$(".l1_p4_actions").remove(); 

$(".l1_p2_action").append('<select name="l1_p2_actions" id="l1_p2_actions">'); 

$.getJSON('../scripts/get_pathway_actions.php', function (json) { 
$("#l1_p2_actions").empty(); 
$.each(json, function() { 
$("#l1_p2_actions").append(new Option(this.action)); 
}); 
}); 
}); 

AARGH,在刪除線錯誤選擇...更改爲以下和刪除正在工作。

$("#l1_p2_actions").remove(); 
$("#l1_p3_actions").remove(); 
$("#l1_p4_actions").remove(); 

仍然有如果單選按鈕被點擊多次額外的空菜單被附加到一個小區的問題...

回答

1

你可以使用刪除功能,並指定該元素的ID被除去,作爲ID 在頁面上獨特:

$("input:radio[id='l1_allowed_1']").click(function() { 
    $("#pathway_actions").remove(); 
}); 
+0

表包含與每行中的一個無線電設備組按鈕中的行數。當單擊一個單選按鈕時,菜單將被追加到該行的最後一個單元格。這些單元格有l1_p1_action類,l1_p2_action類等。因此,如果當前單元格附加了菜單,我需要從其他單元格中刪除菜單。希望這是明確的... – IlludiumPu36 2013-03-01 02:20:41

+0

其實,我想我可以創建具有唯一ID的菜單... – IlludiumPu36 2013-03-01 02:26:55

+1

另一種選擇,如果選擇只出現在一行中一次,是創建選擇作爲一個對象,然後使用remove和append的組合來移動行間的選擇。 – Lafinboy 2013-03-01 02:46:42