2014-06-11 69 views
0

我有以下jQuery代碼。 在else循環中,如何爲複選框對象創建結果的虛擬值?我需要它傳遞給另一個函數進行處理。如果沒有選擇複選框,需要將值作爲「全部」傳遞。如何爲複選框創建虛擬值

var result = []; 

$(".bf-c-1 input:checkbox").each(function() { 

    //  //Do stuff 
    if (this.checked) { 
     $("#checked_value").replaceWith("<div id='checked_value_loading'></div>"); 

     result = $("input[name='attribute_value[2][]']:checked"); 

     setTimeout(function() { 
      displaySelectedFilter(result); 
     }, 1000); 

    }else{ 
     result[0] = "All" ; 
     displaySelectedFilter(result); 
    } 
}); 

displaySelectorFilter功能是:

function displaySelectedFilter(arr){ 

$("#checked_value_loading").replaceWith("<div class='column col-xs-12 col-sm-6 col-lg-5 col-md-5' id='checked_value'></div>"); 

       $("#checked_value").empty(); 

       $("#checked_value").html("Brand(s) <i class='fa fa-chevron-right'></i>&nbsp;"); 


       arr.each(function (item) { 
       var span = $("<span>"); 
       span.attr('class', 'selected_filter'); 
       span.text($(this)[0].value); 
       $("#checked_value").append(span); 
       }); 

} 
+1

這可能是我的,但它不是很清楚你的問題是你問什麼,或者什麼。就我所知,你已經*將結果設置爲「all」並傳遞給它。 – Utkanos

+0

請參閱上面的其他displaySelectorFilter函數。 「span.text($(this)[0] .value);」如果我將結果傳遞爲「全部」,則無法獲取適當的值。它顯示在console.log中的錯誤信息爲「TypeError:arr.each不是函數」 – redcoder

回答

1

請更改result[0] = "All" ;到:

result = $('<input type="checkbox" value="All"/>'); 
+0

這正是我正在尋找的..非常感謝你 – redcoder