当列表中有三个对象时,每个对象在列表上迭代两次。Javascript

当列表中有三个对象时,每个对象在列表上迭代两次。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>')

在计划\单位\列表\项中有三个对象,但只有两个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>')
        .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)在每次迭代中?