2013-10-22 84 views
0

我有一個for循環和它內部的 - 每次運行時,它應該激活功能
但由於某些原因(從閱讀這裏猜測)功能
完成之前再次運行,因此我只得到一個變量而不是8循環運行一次或功能完成之前?

這裏是我當前的代碼:

jQuery(function($){ 

    var elements = 'linkCount, domainCount, ipCount, edugovCount, cclassCount, citationCount, trustCount, pagesCount'; 
    var elearr  = elements.split(","); 

    for(var i=0;i<elearr.length;i++) { 
     var currentElement = elearr[i]+'[]'; 
     // OK: COUNT = 8 -> console.log('i count: '+i); 
     // ERROR: RETURN ONE VAR -> console.log('currentElement: '+currentElement); 
     highlight_biggestval(currentElement) 
    } 

    function highlight_biggestval(currentElement) { 
     // HIGHLIGHT BIGGEST INPUT FIELD 
     var higesht_val  = 0; 
     var higesht_val_id = ''; 
     $("input[name='"+currentElement+"']").each(function() { 

      var current_val = parseInt(this.value); 

      if(higesht_val < this.value){ 
       higesht_val  = current_val; 
       higesht_val_id = 'input#'+this.id; 
      } 

     }); 
     $(higesht_val_id).addClass('bgYellow'); 
    } 

}) 

需要一些幫助搞清楚了這一點......

+0

您確定您的函數調用返回並且執行不會停止在兩者之間,因爲在這種情況下,控件將永遠不會返回到調用函數,並且JavaScript執行將停止。添加一些警報語句來檢查。 – AsG

+0

'var currentElement = elearr [i] +'[''';爲什麼在元素名稱/ id後附加了[]? – Abhitalks

+0

@abhitalks var currentElement = elearr [i] +'[]';是否有因爲我後來使用它來獲得一組輸入...在下面的函數附在這裏... –

回答

1

這條線:

var elearr  = elements.split(","); 

應改爲:

var elearr  = elements.split(", "); // note the space 

否則你的第二至第八元素有一個前導空格,造成不正確的選擇,當你作爲函數的參數傳遞。

+0

非常感謝...有時候(很多次!)它的小事情。 –

相關問題