当列表中有三个对象时,每个对象在列表上迭代两次。Javascript
在计划\单位\列表\项中有三个对象,但只有两个li附加到我的ul中。有人能告诉我为什么会这样吗当列表中有三个对象时,每个对象在列表上迭代两次。Javascript,javascript,jquery,visualforce,apex,Javascript,Jquery,Visualforce,Apex,在计划\单位\列表\项中有三个对象,但只有两个li附加到我的ul中。有人能告诉我为什么会这样吗 var plan_unit_list_items = {!planUnitList}; // APEX METHOD var openPlanUnitList = function (unitdiv) { jQuery('div.plan_unit_dropdown').remove(); var plan_unit_dr = jQuery('<div>')
var plan_unit_list_items = {!planUnitList}; // APEX METHOD
var openPlanUnitList = function (unitdiv) {
jQuery('div.plan_unit_dropdown').remove();
var plan_unit_dr = jQuery('<div>')
.addClass('plan_unit_dropdown')
.append('<ul>');
jQuery.each(plan_unit_list_items,
function (idx, val) {
jQuery('.plan_unit_dropdown ul').append(
jQuery('<li>')
.addClass('plan_unit_list_items')
.text(val.Name))
plan_unit_dr.appendTo(unitdiv);
})
}
var plan\u unit\u list\u items={!plan unitlist};//顶点法
变量openPlanUnitList=函数(unitdiv){
jQuery('div.plan\u unit\u下拉列表').remove();
var计划单位dr=jQuery(“”)
.addClass('计划\单位\下拉列表')
.append(“”);
jQuery.each(计划、单位、列表、项目、,
函数(idx,val){
jQuery('.plan\u unit\u下拉列表ul')。追加(
jQuery(“- ”)
.addClass(“计划、单位、清单、项目”)
.text(val.Name))
平面图单元图附录(单元图);
})
}
(如果“迭代”是问题中的错误术语,我很抱歉)如果我理解您的代码,看起来您正在创建一个
ul
,然后试图在其上附加li
s,但是,当直到第一次迭代之后才将ul
添加到DOM中时,您正在使用以下选择器从DOM中选择该ul
:
jQuery('.plan_unit_dropdown ul')
因此,在第一次迭代中,不会发生附加。既然您已经可以访问新创建的ul
,为什么不直接附加到它,而不是重新选择它呢
var openPlanUnitList = function (unitdiv) {
jQuery('div.plan_unit_dropdown').remove();
var plan_unit_ul = jQuery('<ul>'),
plan_unit_dr = jQuery('<div>')
.addClass('plan_unit_dropdown')
.append(plan_unit_ul);
plan_unit_dr.appendTo(unitdiv);
jQuery.each(plan_unit_list_items, function (idx, val) {
plan_unit_ul.append(jQuery('<li>')
.addClass('plan_unit_list_items')
.text(val.Name));
});
};
var openPlanUnitList=函数(unitdiv){
jQuery('div.plan\u unit\u下拉列表').remove();
风险值计划单位=jQuery(“”),
计划单位dr=jQuery(“”)
.addClass('计划\单位\下拉列表')
.附加(平面图、单位图);
平面图单元图附录(单元图);
jQuery.each(计划、单位、列表、项目、函数(idx、val){
计划单元附加(jQuery(“- ”)
.addClass(“计划、单位、清单、项目”)
.文本(val.Name));
});
};
还有代码吗?对象/数组列表在哪里?var plan\u unit\u list\u items={!planUnitList}代码>如果该变量为planUnitList
,则说明plan\u unit\u list\u items
将为false,对吗?因此它不会在列表上重复两次,当列表中有三个项目时,它正在迭代列表中的两个项目?@RPM:这是一个语法错误,看起来更像一些服务器端处理语言模板语法。为什么要调用plan\u unit\u dr.appendTo(unitdiv)代码>在每次迭代中?