2013-06-20 46 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

相关问题