Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我想使用Json回调按照所选的主类别列表填充自定义的基于div的子类别列表_Php_Jquery_Html_Json - Fatal编程技术网

Php 我想使用Json回调按照所选的主类别列表填充自定义的基于div的子类别列表

Php 我想使用Json回调按照所选的主类别列表填充自定义的基于div的子类别列表,php,jquery,html,json,Php,Jquery,Html,Json,我已经创建了一个自定义项目列表。它不是一个常规的html列表元素,而是带有Jquery onclick事件的自定义基于div的项目列表。这是我的Jquery代码: $(document).ready(function(){ $(document).find("div[id^='cat']").live('click', function() { var currentId = $(this).attr('id'); $.getJSON('get_categories.php', {

我已经创建了一个自定义项目列表。它不是一个常规的html列表元素,而是带有Jquery onclick事件的自定义基于div的项目列表。这是我的Jquery代码:

 $(document).ready(function(){

  $(document).find("div[id^='cat']").live('click', function()
  { 
var currentId = $(this).attr('id');
$.getJSON('get_categories.php', {catName:$("#"+currentId).text()}, function(data) 
{
    $.each(data.CatList, function(i,itemList)
    {
        var tblRow =
        "<div class='shop_options' id='cat" + itemList.id + "' onclick=''"  +">"
        +itemList.sub_cat+"</div>";
        $(tblRow).appendTo("#subCatList");

    });

});

  });

 });
$(文档).ready(函数(){
$(文档).find(“div[id^='cat']”).live('click',function())
{ 
var currentId=$(this.attr('id');
$.getJSON('get_categories.php',{catName:$(“#”+currentId).text()},函数(数据)
{
$.each(data.CatList,function(i,itemList)
{
var tblRow=
""
+itemList.sub_cat+“”;
$(tblRow)。附加到(“子目录”);
});
});
});
});
我可以通过onclick按照主类别项追加子类别。但问题是,每当我单击任何其他类别以填充子类别数据时,单击一个类别后,它只会修改其他类别数据以及先前选择的主类别项目列表

例如,如果我选择水果,它将显示数据芒果、香蕉、橘子,每当我选择任何其他类别,如花卉,它将在水果子类别列表下方显示花卉的子类别列表玫瑰、莲花、金盏花

我想清除以前选择的类别项目。如何做到这一点,请给你的专家建议。非常感谢

使用

$("#subCatList").empty();
追加之前。

使用
html()
将div设为空

$.getJSON('get_categories.php', {catName:$("#"+currentId).text()}, function(data) 
{

  $("#subCatList").html()  //here add this

  $.each(data.CatList, function(i,itemList)
  {
    var tblRow =
    "<div class='shop_options' id='cat" + itemList.id + "' onclick=''"  +">"
    +itemList.sub_cat+"</div>";
    $(tblRow).appendTo("#subCatList");

  });

});
$.getJSON('get_categories.php',{catName:$(“#”+currentId).text()},函数(数据)
{
$(“#子列表”).html()//在此处添加此
$.each(data.CatList,function(i,itemList)
{
var tblRow=
""
+itemList.sub_cat+“”;
$(tblRow)。附加到(“子目录”);
});
});

我曾经使用过它,但现在我只能看到最后一个子类项目,例如橙色或金盏花。我看不到其他项目。我现在需要使用循环吗?只需使用此代码清空/清除数据,然后使用普通代码进行循环。请在第3行澄清。我没有看到html()的任何右括号。对不起,我的错。。括号是个错误。。更新。。代码所做的是在调用
getJSON
函数之后,它会清空id为subCatlist的div。。。循环会附加其他类别。。