2013-06-20 52 views
2

希望這是一個簡單的問題,但我似乎無法開始工作。傳遞一個變量來定位一個特定的數組

我想通過一個變量來訪問特定的數組並隱藏該數組的內容。

在這個例子中$ prodCat = labialWire。在.each()我試圖用$ prodCat替換labialWire並隱藏這些對象,但它不工作。

的jQuery:

$('body').on('click', '.deleteLiRadio', function() { 
    var $prodCat = $(this).data('prodcat'), 
     $ul   = "#upperConfirmUl", 
     unchecked = new Array(); 

    console.log($prodCat); 
    $("li[data-prodcat='" + $prodCat + "']").remove(); 
    $('form[data-caturl="' + $prodCat + '"]').trigger('reset'); 
    $($ul).listview("refresh"); 
    $($ul).trigger("updatelayout"); 

    $('form[data-caturl="' + $prodCat + '"] input:not(:checked)').each(function() { 
     unchecked.push($(this).attr('id')); 
    }); 
    //console.log(unchecked); 

    $.each(unchecked, function (i, val) { 
     labialWire[val] && labialWire[val].hide();/*Replace labialWire with $prodCat*/ 
    }); 
}); 

非常感謝所有幫助!

如果有幫助,我使用$ prodCat [val]得到未定義的響應。

+0

@JamesMontagne哈哈,這是沒有什麼本質的。 – Adam

+1

什麼是'labialWire',你在哪裏聲明它? –

+0

@ Karl-AndréGagnon它是這個函數之外的全局數組。 – Adam

回答

1

如果labialWire是一個全局變量(數組):

if (window["labialWire"]) 
    window["labialWire"].[val].hide(); 

,或者使用與價值 「labialWire」 字符串變量:

if (window[$prodCat]) 
    window[$prodCat].[val].hide(); 
+0

謝謝你的建議,但我試圖避免一堆條件語句的可伸縮性。 – Adam

相關問題