2

うまくいけば、これは簡単な質問ですが、私は仕事をすることができないようです.

変数を渡して特定の配列にアクセスし、その配列の内容を非表示にしようとしています。

この例では、$prodCat = labialWire. .each() で、labialWire を $prodCat に置き換えてそれらのオブジェクトを非表示にしようとしていますが、機能していません。

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] を使用して未定義の応答を取得しています。

4

1 に答える 1

1

labialWireがグローバル変数 (配列) の場合:

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

または、値が「labialWire」の文字列変数を使用します。

if (window[$prodCat])
  window[$prodCat].[val].hide();
于 2013-06-21T00:31:14.960 に答える