2015-10-20 55 views
0

我有一个包含月份值的数组对象。我想在“ul”标签下显示这些值。下面是代码:如何在这些数组值的基础上遍历数组值和显示列表对象

function LoadPrioritySlider($this, priorityObj) { 
    var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 

    var monthVal = window.cebMapsApp.cebMapsViewModel.viewModel.MembershipStartMonth() 
    var activeMonth = jQuery.inArray(monthVal, months); 

    var temp1 = months.slice(0, activeMonth); 
    var temp2 = months.slice(activeMonth, months.length) 

    months = $.merge(temp2, temp1); 

    $this.find(".months-bar").add(months);  
} 

我想根据数组值显示一个“ul”标签和相应的“li”标签。 “month-bar”类包含一个“ul”,并且我还在这个类中添加了($ this.find(“。months-bar”)。add(months);)我添加了“几个月”。我想将所有月份显示为“li”标签。我将如何实现这一目标。以下是我正在处理的代码。我知道它非常简单,但作为jquery的初学者真的让我很难受。为此说。

<div class="months-bar"> 
    <ul id="demo"> 
      <li>A</li> 
    </ul> 
</div> 

回答

1

试试这个,你需要有$.each()循环,你可以在循环每次迭代的文本值创建动态li然后追加它:

function LoadPrioritySlider($this, priorityObj) { 
 
    var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 
 

 
    var monthVal = "Jul"; //<-----for sake of example 
 
    var activeMonth = jQuery.inArray(monthVal, months); 
 

 
    var temp1 = months.slice(0, activeMonth); 
 
    var temp2 = months.slice(activeMonth, months.length) 
 

 
    months = $.merge(temp2, temp1); 
 

 
    $.each(months, function(i, v) { 
 
    var li = $('<li>',{text:v}) 
 
    $('#demo').append(li); 
 
    }); 
 

 
} 
 
LoadPrioritySlider()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="months-bar"> 
 
    <ul id="demo"> 
 
    </ul> 
 
</div>

+0

谢谢宰。你有很大的帮助。 – Yash

+0

欢迎@Yash。 – Jai