我正在制作一个用于在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>
答案 0 :(得分: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();
}
}