Javascript 如何在打印时隐藏Jquery multi-select

Javascript 如何在打印时隐藏Jquery multi-select,javascript,jquery,css,Javascript,Jquery,Css,我有两个Jquery多选的页面 我有一个print.css文件,它可以完美地隐藏整个表单,甚至一些父div。使用自制的课程。此页面上隐藏了一些其他元素,而其他元素则使用“无打印”类。或者@media打印。我补充了这一点,但没有解决问题。因此,Jquery多重选择在打印时不会隐藏 但是,在页面上,当我单击“打印”时,它将显示打印上的整个选项列表,甚至还有一个“全部选择”“全部取消选择”。这真让人讨厌。将select的id添加到print.css或his选项不起作用。谁会想要打印出一个选项列表呢 C

我有两个Jquery多选的页面

我有一个print.css文件,它可以完美地隐藏整个表单,甚至一些父div。使用自制的课程。此页面上隐藏了一些其他元素,而其他元素则使用“无打印”类。或者@media打印。我补充了这一点,但没有解决问题。因此,Jquery多重选择在打印时不会隐藏

但是,在页面上,当我单击“打印”时,它将显示打印上的整个选项列表,甚至还有一个“全部选择”“全部取消选择”。这真让人讨厌。将select的id添加到print.css或his选项不起作用。谁会想要打印出一个选项列表呢

CSS(print.CSS内容)

CSS custom.CSS

...
 @media print
{
    #pager,
    form,
    .no-print
    {
        display: none !important;
        height: 0;
    }


    .no-print, .no-print *{
        display: none !important;
        height: 0;
    }
}
HTML头的一部分

<link href="/theme/css/ui/ui.print.css?version=x.x.x" media="print" rel="stylesheet" type="text/css" >
...
<link href="/css/custom.css?version=x.x.x" media="screen" rel="stylesheet" type="text/css" >
发件人:


From:

我将按钮href改为函数,而不是javascript:window.print() 在这个函数中,我使用JQuery的empty()函数覆盖了表单,然后打印页面。打印作业完成或取消后,将重新加载页面,以便初始内容仍然有效

JavaScript

function printJob()
{
    try{

        $('#blacklistHitListFilterForm').empty();

    }
    catch($e)
    {
        alert($e);
    }


    window.print();
    location.reload();
    return false;
}
HTML


我将href按钮改为函数,而不是javascript:window.print() 在这个函数中,我使用JQuery的empty()函数覆盖了表单,然后打印页面。打印作业完成或取消后,将重新加载页面,以便初始内容仍然有效

JavaScript

function printJob()
{
    try{

        $('#blacklistHitListFilterForm').empty();

    }
    catch($e)
    {
        alert($e);
    }


    window.print();
    location.reload();
    return false;
}
HTML



尝试
高度:0在你的
中。没有打印
类你能粘贴更多的源代码吗?您是如何以及在何处实施multiselect等的?您能提供一个解决方案吗?@thanksd我已经尝试过了。听起来像是一个很好的快速解决方案,但没有运气。试试
height:0在你的
中。没有打印
类你能粘贴更多的源代码吗?您是如何以及在何处实施multiselect等的?您能提供一个解决方案吗?@thanksd我已经尝试过了。听起来像是一个很好的快速修复,但没有运气。谢谢你的评论。但我当然看到了这篇文章。但是这不适用于隐藏Jquery multi-select选项。您使用的是哪个multi-select插件?我已经在问题中添加了.js的注释部分停止寻找解决方案。现在将添加它谢谢你的评论。但我当然看到了这篇文章。但是这不适用于隐藏Jquery multi-select选项。您使用的是哪个multi-select插件?我已经在问题中添加了.js的注释部分停止寻找解决方案。现在将添加它
/* jshint forin:true, noarg:true, noempty:true, eqeqeq:true, boss:true, undef:true, curly:true, browser:true, jquery:true */
/*
 * jQuery MultiSelect UI Widget 1.14pre
 * Copyright (c) 2012 Eric Hynds
 *
 * http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/
 *
 * Depends:
 *   - jQuery 1.4.2+
 *   - jQuery UI 1.8 widget factory
 *
 * Optional:
 *   - jQuery UI effects
 *   - jQuery UI position utility
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 */
@media print {    
    .no-print, .no-print *{
        display: none !important;
    }
}
function printJob()
{
    try{

        $('#blacklistHitListFilterForm').empty();

    }
    catch($e)
    {
        alert($e);
    }


    window.print();
    location.reload();
    return false;
}
<a href="javascript:printJob();" class="btn btn">
                <i class="icon-print"></i>
                Print</a>