0

このコードのスニップを if の代わりに while ループで動作させようとしています。printLoad_# val が空の場合、num_# の各瞬間が表示されないようにする必要があります。したがって、printLoad_1 値 = 何もない場合、Num_1 は表示されず、printLoad_2 はその num_2 が空かどうかなどを確認します。私が抱えている問題は、各セクションをチェックする前に機能が停止することです。do-while が機能するかどうかはわかりません。

$(document).ready(function() {
    if(document.getElementById("printLoad_1").value == "")
    {
        document.getElementById('num_1').style.display = 'none';
    }
    if(document.getElementById("printLoad_2").value == "")
    {
        document.getElementById('num_2').style.display = 'none';
    }
    if(document.getElementById("printLoad_3").value == "")
    {
        document.getElementById('num_3').style.display = 'none';
    }
    if(document.getElementById("printLoad_4").value == "")
    {
        document.getElementById('num_4').style.display = 'none';
    }
    if(document.getElementById("printLoad_5").value == "")
    {
        document.getElementById('num_5').style.display = 'none';
    }
});
4

5 に答える 5

1

これは、「動的に機能する」というイーサンの答えをわずかに変更したものです。また、jQuery を使用するように更新しました。CSS クラス階層関係が使用されている場合、これはよりきれいに処理できますが、それは DOM の生成方法に影響を与える可能性があります..

for (var i = 1; /* break */; i++) {
    var printEl = $('#printLoad_' + i)
    if (printEl.length) {
        if (!printEl.val()) {
            $('#num_' + i).css({display: 'none'})
        }
    } else {
        // No #printLoad_N, guess we're done looking
        break
    }
}
于 2013-07-01T23:56:12.910 に答える