使用json附加和删除动态php菜单

时间:2013-03-01 02:08:25

标签: jquery 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 个答案:

答案 0 :(得分:1)

你可以使用remove函数并指定要删除的元素的id,因为id 应该在页面上是唯一的:

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