2016-01-05 39 views
0

快樂米的最後一個項目應用功能是爲每個用戶.I'm調用快樂米功能顏色匹配的字符串的函數從這裏:無法在循環

$(function() 
{ 
    //alert("default"); 
    $('#contents').append("<table><tr>"); 
    var globalStore = {}; 
    globalStore.data = []; 
    var data; 
    $.when(
    // 1st query 
    $.get('/search/show_all_tutors.php',function(data){globalStore.data = globalStore.data.concat(data);console.log(data)},"json") 
).then(function() { 

    var j=0; 
    var plus; 
    var neg; 
    localStorage.size = globalStore.data.length; 
    for (i = 0; i < globalStore.data.length; i++) { 

colorMe(globalStore.data[i].morning,globalStore.data[i].afternoon,globalStore.data[i].evening, globalStore.data[i].UUID,i); 

<div class='small-6 medium-6 large-6 columns text-left day morning_"+globalStore.data[i].UUID+"' id='"+globalStore.data[i].UUID+"'>Morning: <span class='Mon'>M </span><span class='Tue'>T </span><span class='Wed'>W </span><span class='Thrs'>T </span><span class='Fri'>F </span><span class='Sat'>S </span><span class='Sun'>S</span></div><div class='small-6 medium-6 large-6 columns text-left day afternoon_"+globalStore.data[i].UUID+"' id='"+globalStore.data[i].UUID+"'>Afternoon: <span class='Mon'>M </span><span class='Tue'>T </span><span class='Wed'>W </span><span class='Thrs'>T </span><span class='Fri'>F </span><span class='Sat'>S </span><span class='Sun'>S</span></div><div class='small-6 medium-6 large-6 columns text-left day evening_"+globalStore.data[i].UUID+"' id='"+globalStore.data[i].UUID+"'>Evening: <span class='Mon'>M </span><span class='Tue'>T </span><span class='Wed'>W </span><span class='Thrs'>T </span><span class='Fri'>F </span><span class='Sat'>S </span><span class='Sun'>S</span></div> 

................................... 

而這正是快樂米功能

樣本數據:

param = 'Sat,Sun'; 
param_af = 'Mon,Fri,Sat'; 
param_eve = ''; 
param2 = '13 digit user id'; 
index = denotes nth call to the function 


var userarray = []; 
var dayarray = []; 
var dayarray2 = []; 
var dayarray3 = []; 
function colorMe(param,param_af,param_eve, param2,index) 
{ 
var data = 0; 
    console.log("index= "+index); 

    /*console.log("DAY "+param); 
    console.log("user "+param2);*/ 
    //console.log("k= "+k); 
    console.log("data= "+data); 

    userarray.push(param2); 
    //console.log("mY "+userarray[k]); 
    dayarray.push(param); 
    dayarray2.push(param_af); 
    //console.log("afternoon "+dayarray2[k]); 
    dayarray3.push(param_eve); 
    //console.log("evening "+dayarray3[k]); 
    //console.log("Day "+dayarray[k]); 
    var k = userarray.length; 
    console.log("K= "+k); 

    for(;data < k;data++) 
    { 
     //console.log("data="+ data); 
    var arr = dayarray[data]; 
    var arr2 = dayarray2[data]; 
    var arr3 = dayarray3[data]; 
    console.log("userdata= "+userarray[data]); 
    $("div.morning_"+userarray[data]+" span").each(function() { 
       if(arr.indexOf($(this).attr("class")) > -1) { 

        $(this).css("color","#26F525"); 

       } 
      }); 


      $("div.afternoon_"+userarray[data]+" span").each(function() { 
       if(arr2.indexOf($(this).attr("class")) > -1) { 

        $(this).css("color","#26F525"); 

       } 
      }); 
      $("div.evening_"+userarray[data]+" span").each(function() { 
       if(arr3.indexOf($(this).attr("class")) > -1) { 

        $(this).css("color","#26F525"); 

       } 
      }); 

    } 
    k++; 
    //if(data == (localStorage.size-1)){ 
//alert("data"+data+" k= "+k+"size= "+localStorage.size+"user= "+param2+"morn= "+param+"aftr="+param_af+"eve="+param_eve); 

    //} 
} 

       } 

如何將colorMe函數應用於最後一項呢?

收窄解釋

我有了10個項目的第一環。

每個項目調用一個colorMe函數來將其內容以 綠色着色。

它假設爲所有10個項目着色,但現在它只有顏色9.上一個 總是錯過。

現在我該如何讓最後一個項目也被着色?

+1

你有什麼可能縮小這個實際問題的範圍嗎?閱讀這篇文章:http://stackoverflow.com/help/mcve –

+0

@ freedomn-m,看看我的文章中的狹義解釋 – 112233

+2

我不覺得這個特別可讀。該代碼中的數據是什麼?除了使用它之外,我沒有看到它。爲什麼使用平行數組而不是單個數組對象? –

回答

1
  • 你增加每次k通過循環,不修改它的基於陣列。
  • 你不再是設置k,而不是len。發佈您的實際代碼。
  • 代碼中存在瘋狂的重複數量,使其無法思考。
+0

我在哪裏放置它,或者如何修改陣列? – 112233

+0

我已將代碼更新爲最佳狀態,請重新檢查 – 112233

+0

@Keren \t您仍然在循環結束時遞增'k'。這是用來檢查循環何時結束的值。 –