0

我正在制作用于在 div 中打印列表的打印功能。单击打印按钮时,列表输入中的数据将被放置一个将被打印的新输入。我被要求删除空白输入并将填充的输入一起显示。我被告知要使用一段时间迭代,但我什至不知道如何去做。

我发送要打印的数据的输入是printArea_#并放置在printLoad_#

我得到了这个代码,但不知道如何使用它......

$('#mydiv').children('input [type=text]').each(function () {
    alert(this.value); // "this" is the current element in the loop
});​

这是我的工作打印功能,它将数据放入新的输入以进行打印,但仍然显示空数据,(我相信也有更清洁的方法来做到这一点。)

function print_list() {
    $('input[id=printLoad_1]').val($('input[class=printArea_1]').val());
    $('input[id=printLoad_2]').val($('input[class=printArea_2]').val());
    $('input[id=printLoad_3]').val($('input[class=printArea_3]').val());
    $('input[id=printLoad_4]').val($('input[class=printArea_4]').val());
    $('input[id=printLoad_5]').val($('input[class=printArea_5]').val());
    $('input[id=printLoad_6]').val($('input[class=printArea_6]').val());
    $('input[id=printLoad_7]').val($('input[class=printArea_7]').val());
    $('input[id=printLoad_8]').val($('input[class=printArea_8]').val());
    $('input[id=printLoad_9]').val($('input[class=printArea_9]').val());
        $(".printing_list").printElement(
            {
            overrideElementCSS:[
                '/css/print_fixer.css',
                { href:'/css/print_fixer.css',media:'print'}],
            //leaveOpen:true,
            //printMode:'popup',

            });
}

我想隐藏未填充的表行,直到将数据放入其中一个输入中。这是我的表格行之一的示例。

       <tr id="num_1">
                <td><input id="printLoad_1" type="text" style="width:700px;" /></td>
       </tr>
4

1 回答 1

1

大概是这样的:

var inputLength = $("input[id^='printLoad']").length;

for (var i = 1; i <= inputLength; i++) {
    $('input[id=printLoad_' + i + ']').val($('input[class=printArea_' + i + ']').val());
    if ($('input[id=printLoad_1]').val($('input[class=printArea_1]').val() == "") {
        $("#num_" + i).hide();
    }
}
于 2013-06-13T16:07:25.943 回答