如何通过javascript从父类别中获取每个子类别?

如何通过javascript从父类别中获取每个子类别?,javascript,jquery,Javascript,Jquery,我想在通过JQuery选择父类别时列出子类别。 在这里,当我单击父类别时,我只得到子类别的最后一项 如何获取属于该父项的所有项目 函数更新\u子类别\u divparent\u id{ var result={},objectlength jQuery.ajax{ url:/get_subscegories/+parent_id+.json, 类型:GET, 数据:{parent_id:parent_id}, 数据类型:html, 成功:functiondata{ 结果=JSON.parsed

我想在通过JQuery选择父类别时列出子类别。 在这里,当我单击父类别时,我只得到子类别的最后一项

如何获取属于该父项的所有项目

函数更新\u子类别\u divparent\u id{ var result={},objectlength jQuery.ajax{ url:/get_subscegories/+parent_id+.json, 类型:GET, 数据:{parent_id:parent_id}, 数据类型:html, 成功:functiondata{ 结果=JSON.parsedata objectlength=result.length
forvar i=0;i您可以拥有一个全局数组,并在for循环中将每个子类别添加到该数组中,并在末尾返回该数组

    var subcat = [];//Array of subcategories
    for (var i = 0; i < objectlength; i++) {
        subcat.push(result[i].name);

}
类似地,现在可以如上所述在subcat数组上循环

jQuery("#categoriesDiv").html(result[i].name);
将此替换为下面的一个

jQuery("#categoriesDiv").append('<option>'+result[i].name+'</option>');
我认为这个id的categoriesDiv应该是选择框。 例:

并在成功函数jQueryselectprarentId中的for循环之前添加此项。查找'option'。删除

然后它就会起作用。

你的问题就在这里

 for(var i=0; i<objectlength; i++)
 {
      var name = jQuery("#categoriesDiv").html(result[i].name);
 }

使用此变量名=jQuerycategoriesDiv.htmlresult[i].name;它将在每次for循环运行时替换您的代码。首先,您必须将这些值存储在来自for循环的数组中。然后根据您的要求打印此数组。@Deepak saini您可以编辑代码吗?我对数组循环知识不多您需要此下拉选项吗?是的,我需要结果在下拉选项中,而不是在同一个下拉列表中,在其他下拉列表中,您是否检查了我的答案?您是否可以共享通过数组循环的代码。@sreena检查我的答案我已更新了用于数组填充的代码。
 for(var i=0; i<objectlength; i++)
 {
      var name = jQuery("#categoriesDiv").html(result[i].name);
 }
var name = "";
var categoriesDiv = jQuery("#categoriesDiv");
for(var i=0; i<objectlength; i++){
    var currentText = categoriesDiv .html();
    var newText = currentText+' '+ result[i].name;
    categoriesDiv .html(newText );
    name += ' ' + result[i].name; // this may not be necessary
}
console.log(categoryArray);
console.log(objectlength);
function update_subscategories_div(parent_id) { 
   var result={},objectlength;
  jQuery.ajax({
    url: "/get_subscategories/"+parent_id+".json",
    type: "GET",
    data: {"parent_id" : parent_id},
    dataType: "html",
    success: function(data) {
     jQuery("#categoriesDiv").find('option').remove();
      result = JSON.parse(data);
      objectlength =result.length;
      for(var i=0; i<objectlength; i++)
      {
        jQuery("#categoriesDiv").append('<option>'+result[i].name+'</option>');
      }
      console.log(name);
      console.log(objectlength);
    }
  });
}