2015-10-20 31 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