如何隐藏多个datepicker日历同样的id document.getElementById

时间:2014-11-12 18:46:32

标签: javascript css reporting-services datepicker

enter image description here

enter image description here

enter image description here

您好,当我添加datepicker隐藏字段reportViewer时,我一直在为报表查看器的日期选择器工作,并在我预览我的报表时将下面的代码添加到ReportViewer主页中我有两个datepicker carlendar(红色)一个是默认的)我添加了document.getElementById('ctl00_MainContent_ReportViewer1_ctl04_ctl03_ddDropDownButton')。style.visibility ='hidden';隐藏默认值但只隐藏第一个日期选择器,第二个仍然显示。如何隐藏这两个日期选择器(在红色id = ctl00_MainContent_ReportViewer1_ctl04_ctl03_ddDropDownButton内)

 function fixParameters() {
        if ($.browser.webkit) {

            // add date picker
            $($(":hidden[id*='datepicker']").val().split(",")).each(function (i, item) {
                var h = $("table[id*='ParametersGrid'] span").filter(function (i) {
                    var v = "[" + $(this).text() + "]";
                    //  var vs = $("input[id=*='ParametersGrid']").is(':checked');
                    return (v != null && item != "" && v.indexOf(item) >= 0);

                }).parent("td").next("td").find('input[type="text"]:not(:has(input[type="checkbox"]))').datepicker({
                    showOn: "button"
                     , buttonImage: '/Reserved.ReportViewerWebControl.axd?OpType=Resource&Name=Microsoft.Reporting.WebForms.calendar.gif'                      
                   , buttonImageOnly: true
                   , dateFormat: 'mm/dd/yy'
                   , changeMonth: true
                   , changeYear: true
                   , showOtherMonths: true
                    , inline: true
                   , selectOtherMonths: true,
                });
            });

            // remove time from date
            $($(":hidden[id*='datepicker']").val().split(",")).each(function (i, item) {
                var h = $("table[id*='ParametersGrid'] span").filter(function (i) {
                    var v = "[" + $(this).text() + "]";
                    return (v != null && item != "" && v.indexOf(item) >= 0);
                }).parent("td").next("td").find("input").parent().children("input").each(function () {
                    $(this).val($(this).val().substring(0, 10));
                });
            });
        }
            //} 
   the resaon that i add else because i want the IE,firefox to have the same datepicker style 
      else {

            document.getElementById('ctl00_MainContent_ReportViewer1_ctl04_ctl03_ddDropDownButton').style.visibility = 'hidden';

            $($(":hidden[id*='datepicker']").val().split(",")).each(function (i, item) {
                var h = $("table[id*='ParametersGrid'] span").filter(function (i) {
                    var v = "[" + $(this).text() + "]";
                    //  var vs = $("input[id=*='ParametersGrid']").is(':checked');
                    return (v != null && item != "" && v.indexOf(item) >= 0);

                }).parent("td").next("td").find('input[type="text"]:not(:has(input[type="checkbox"]))').datepicker({
                    showOn: "button"
                    // , buttonImage: '/Reserved.ReportViewerWebControl.axd?OpType=Resource&Name=Microsoft.Reporting.WebForms.calendar.gif'
                    , buttonImage: 'Reserved.ReportViewerWebControl.axd?OpType=Resource&Version=10.0.40219.329&Name=Microsoft.Reporting.WebForms.calendar.gif'
                   , buttonImageOnly: true
                   , dateFormat: 'mm/dd/yy'
                   , changeMonth: true
                   , changeYear: true
                   , showOtherMonths: true
                    , inline: true
                   , selectOtherMonths: true,
                });
            });

            // remove time from date
            $($(":hidden[id*='datepicker']").val().split(",")).each(function (i, item) {
                var h = $("table[id*='ParametersGrid'] span").filter(function (i) {
                    var v = "[" + $(this).text() + "]";
                    return (v != null && item != "" && v.indexOf(item) >= 0);
                }).parent("td").next("td").find("input").parent().children("input").each(function () {
                    $(this).val($(this).val().substring(0, 10));
                });
            });

        }
    }
});

1 个答案:

答案 0 :(得分:0)

我通过为默认的datepicker日历添加样式来隐藏

,从而找到了解决方案
#ctl00_MainContent_ReportViewer1_ctl04_ctl05_ddDropDownButton {
 visibility: hidden;

}