【发布时间】:2021-05-13 10:12:10
【问题描述】:
我的代码从 SharePoint 列表中读取,将数据存储在数组中,然后将其发布到要打印的 HTML 列表中。在大多数情况下,它可以工作并打印页面。
我已经从我选择打印的 div 容器中排除了打印按钮和搜索栏,但它仍然出现在打印预览中?我可以从打印视图中删除这些元素/同时将每周报告标题的边距以及所有内容移到页面顶部吗?
这是我的 sn-p 它的工作原理:
var data = [{
"Team": "Eagles",
"WeekOf": "2021-01-31",
"Tasks": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Deliverables": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"Actions": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Billable": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"NonBillable": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"UpcomingEvents": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Training": null,
"Resource": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"Support": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
},
{
"Team": "Raiders",
"WeekOf": "2021-01-31",
"Tasks": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Deliverables": null,
"Actions": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Billable": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"NonBillable": null,
"UpcomingEvents": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Training": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"Resource": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"Support": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
},
{
"Team": "Vikings",
"WeekOf": "2021-03-30",
"Tasks": null,
"Deliverables": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"Actions": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Billable": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"NonBillable": null,
"UpcomingEvents": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
"Training": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
"Resource": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.",
"Support": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
}
];
function onSuccess(data) {
var listContent = [];
for (var i = 0; i < data.length; i++) {
listContent += '<li data-weekOf="' + data[i].WeekOf + '">';
listContent += '<h2>' + data[i].Team + '</h2>';
listContent += '<h4> Tasks </h4>';
if (data[i].Tasks !== null) {
listContent += '<ul>' + "- " + data[i].Tasks + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '<h4> Deliverables </h4>';
if (data[i].Deliverables !== null) {
listContent += '<ul>' + "- " + data[i].Deliverables + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '<h4> Personnel Actions </h4>';
if (data[i].Actions !== null) {
listContent += '<ul>' + "- " + data[i].Actions + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '<h4> Finance (Billable) </h4>';
if (data[i].Billable !== null) {
listContent += '<ul>' + "- " + data[i].Billable + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '<h4> Finance (Non-Billable) </h4>';
if (data[i].NonBillable !== null) {
listContent += '<ul>' + "- " + data[i].NonBillable + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '<h4> Upcoming Events </h4>';
if (data[i].UpcomingEvents !== null) {
listContent += '<ul>' + "- " + data[i].UpcomingEvents + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '<h4> Training </h4>';
if (data[i].Training !== null) {
listContent += '<ul>' + "- " + data[i].Training + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '<h4> Resource Request </h4>';
if (data[i].Resource !== null) {
listContent += '<ul>' + "- " + data[i].Resource + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '<h4> Support Request </h4>';
if (data[i].Support !== null) {
listContent += '<ul>' + "- " + data[i].Support + '</ul>';
} else {
listContent += '<ul>' + "- There were no notes attached to this section." + '</ul>';
}
listContent += '</li>';
}
$('#report-summary').html(listContent);
$('#under_txt').text(' ');
}
$(document).ready(function() {
onSuccess(data);
});
$(document).ready(function() {
$("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
if ($.trim(value) == '') {
onSuccess(data);
return;
}
$('#under_txt').text(value);
$('li').fadeOut(10);
$('[data-weekOf=' + value + ']').fadeIn();
});
});
function sortNewestFirst() {
var elements = $('[data-weekOf]');
elements.sort(function(a, b) {
return new Date($(b).attr('data-weekOf')) - new Date($(a).attr('data-weekOf'));
});
$('#report-summary').html(elements);
}
function sortOldestFirst() {
var elements = $('[data-weekOf]');
elements.sort(function(a, b) {
return new Date($(a).attr('data-weekOf')) - new Date($(b).attr('data-weekOf'));
});
$('#report-summary').html(elements);
}
$('a.printPage').click(function() {
$('#report-summary').show();
window.print();
return false;
});
h2 {
text-align: left;
text-decoration: underline;
font-size: 20px;
}
h1 {
font-size: 25px;
text-align: center;
}
ul {
list-style-type: none;
padding: 0px;
margin-left: 0px;
}
li {
list-style-type: none;
}
span {
font-size: 15px;
}
#report-summary {
margin-left: 15px;
margin-right: 15px;
}
#search {
text-align: center;
}
p {
text-align: center;
}
h4 {
font-size: 17px;
font-weight: normal;
text-decoration: underline;
margin-top: -10px;
margin-bottom: -10px;
}
#myInput {
text-align: center;
}
#under_txt {
margin-left: 5px;
padding: 0px 10px 0px 10px;
}
@page { size: auto; margin: 50px; }
@media print {
#search,
.printPage {
display: none;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link type="text/css" media="all" rel="stylesheet">
<div class="container">
<div id="search">
<input id="myInput" type="text" placeholder="Search for Week Of">
</div>
<a class="printPage" href="#">Print Page</a>
<h1>Weekly Manager Report</h1>
<p>Week Of<span id="under_txt"></span></p>
<div id="report-summary"></div>
</div>
在此示例中,它不起作用,但仍会发布搜索栏和打印按钮:
.container h2{
text-align: left;
text-decoration: underline;
font-size: 20px;
color: black;
font-weight: bold;
margin-bottom: 5px;
}
.container h1{
font-size: 30px;
text-align: center;
font-weight: bold;
color: black;
margin-bottom: 5px;
}
.container ul {
list-style-type: none !important;
padding: 0px !important;
margin-left: 0px !important;'
color: black;
}
ul.black{
color: black;
}
p.black{
color: black;
}
.container li{
list-style-type: none !important;
}
.container#report-summary{
margin-top: 10px;
}
span{
font-size: 15px !important;
}
#report-summary{
margin-left: 15px !important;
margin-right: 15px !important;
}
#search{
text-align: center !important;
}
p {
text-align: center !important;
}
.container h4{
font-size: 17px;
font-weight: normal;
text-decoration: underline;
margin-top: 10px;
margin-bottom: 10px;
color: black;
}
#myInput{
text-align: center !important;
}
#under_txt{
margin-left: 5px !important;
padding: 0px 10px 0px 10px !important;
color: black;
}
.ms-core-pageTitle {
display: none;
@page { size: auto; margin: 50px; }
@media print {
#search,
.printPage {
display: none;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link type="text/css" media="all" rel="stylesheet">
<div class="container">
<div id="search">
<input id="myInput" type="text" placeholder="Search for Week Of">
</div>
<a class="printPage" href="#">Print Page</a>
<h1>Weekly Manager Report</h1>
<p>Week Of:<span id="under_txt"></span></p>
<div id="report-summary"></div>
</div>
function loadData(url) {
url = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('WeeklyReport')/items?$select=DeliverablesSubmitted,MajorTasks,UpcomingTasks,UpcomingDeliverables,PersonnelActions,SupportRequest,ResourceRequest,Team/Value,Training,Upcoming,WeekOf,TravelODC";
return fetch(url, { headers: { accept: "application/json; odata=verbose" } }) // make request
.then((r) => {
if (!r.ok) throw new Error("Failed: " + url); // Check for errors
return r.json(); // parse JSON
})
.then((data) => data.d.results);
}
loadData()
.then((results) => {
let data = results;
var listContent = '';
console.log(data);
for (var i = 0; i < data.length; i++) {
var currData = data[i];
listContent += '<li class="test" data-weekOf="'+currData.WeekOf.split("T")[0]+'">';
console.log(currData.WeekOf.split("T")[0]);
if(currData.Team !== null){
listContent += '<h2>' + currData.Team.results.join(', ') +'</h2>';
}else{
listContent += '<h2>' + "Null" +'</h2>';
}
if(currData.MajorTasks !== null){
listContent += '<h4> Major Tasks Completed </h4>';
listContent += '<ul class="black">' + "- " + currData.MajorTasks.replace(/(<([^>]+)>)/gi, "") + '</ul>';
}else{
}
if(currData.DeliverablesSubmitted !== null){
listContent += '<h4> Deliverables Submitted</h4>';
listContent += '<ul class="black">' + "- " + currData.DeliverablesSubmitted.replace(/(<([^>]+)>)/gi, "") + '</ul>';
}else{
}
if(currData.UpcomingTasks !== null){
listContent += '<h4> Upcoming Tasks</h4>';
listContent += '<ul class="black">' + "- " + currData.UpcomingTasks.replace(/(<([^>]+)>)/gi, "") + '</ul>';
}else{
}
if(currData.UpcomingDeliverables !== null){
listContent += '<h4> Upcoming Deliverables</h4>';
listContent += '<ul class="black">' + "- " + currData.UpcomingDeliverables.replace(/(<([^>]+)>)/gi, "") + '</ul>';
}else{
}
if(currData.PersonnelActions !== null){
listContent += '<h4> Personnel Actions </h4>';
listContent += '<ul class="black">' + "- " + currData.PersonnelActions.replace(/(<([^>]+)>)/gi, "") + '</ul>';
}else{
}
if(currData.Upcoming !== null){
listContent += '<h4> Upcoming G3G Events </h4>';
listContent += '<ul class="black">' + "- " + currData.Upcoming.replace(/(<([^>]+)>)/gi, "") + '</ul>';
}else{
}
listContent += '</li>';
}
$('#report-summary').html(listContent);
$('#under_txt').text(' ');
});
$(document).ready(function(){
$("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
$('#under_txt').text(value);
if (value == "") {
$("li.test").fadeIn();
} else {
$('li.test').fadeOut(10);
$('[data-weekof=' + value + ']').fadeIn();
}
});
});
function sortNewestFirst(){
var elements = $('[data-weekOf]');
elements.sort(function (a, b) {
return new Date($(b).attr('data-weekOf')) - new Date($(a).attr('data-weekOf'));
});
$('#report-summary').html(elements);
}
function sortOldestFirst(){
var elements = $('[data-weekOf]');
elements.sort(function (a, b) {
return new Date($(a).attr('data-weekOf')) - new Date($(b).attr('data-weekOf'));
});
$('#report-summary').html(elements);
}
$('a.printPage').click(function(){
$('#report-summary').show();
window.print();
return false;
});
【问题讨论】:
标签: javascript html jquery css pdf