2013-03-01 71 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