如何通过javascript从父类别中获取每个子类别?
我想在通过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如何通过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
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);
}
});
}