如何隐藏使用struts2-jquery-plugin-3.7.1.jar生成的datepicker?

时间:2014-09-25 07:10:36

标签: jquery struts2 datepicker struts2-jquery

您好我已使用以下代码在struts 2中生成了一个日期选择器

<sj:datepicker label="Date" name="optOutDate" id="optOutDate1" maxlength="10" value="%     {optOutDate}" cssClass="Datepicker" size="9"  yearRange="2008:2027" changeMonth="true"     changeYear="true" buttonImageOnly="true" displayFormat="mm-dd-yy" showOn="button" />

上面的代码在浏览器中生成了以下HTML

<tr>
<td class="tdLabel"><label for="optOutDate1" class="label">Date:</label></td>
<td>
<input type="text" name="optOutDate" size="9" maxlength="10" value="" id="optOutDate1" class="Datepicker"/>
</td>
</tr>

<script type='text/javascript'> 
jQuery(document).ready(function () {
jQuery.struts2_jquery_ui.initDatepicker(false);

});
jQuery(document).ready(function () {
var options_optOutDate1 = {};
options_optOutDate1.buttonImageOnly = true;
options_optOutDate1.changeMonth = true;
options_optOutDate1.changeYear = true;
options_optOutDate1.showOn = "button";
options_optOutDate1.buttonImage = "/kpnsnbm/struts/js/calendar.gif";
options_optOutDate1.yearRange = "2008:2027";
options_optOutDate1.displayformat = "mm-dd-yy";
options_optOutDate1.jqueryaction = "datepicker";
options_optOutDate1.id = "optOutDate1";
options_optOutDate1.name = "optOutDate";

jQuery.struts2_jquery_ui.bind(jQuery('#optOutDate1'),options_optOutDate1);

 });
</script>

这里的问题是我无法正确隐藏此日期选择器;我试图通过hide()方法隐藏它,如下所示,但它只隐藏文本框而不隐藏日期选择器图像..

<script type="text/javascript">
jQuery(function($){
            $( '.Datepicker' ).hide(),
            $('.tdLabel').hide(),
            $('.label').hide();
        });
</script>

4 个答案:

答案 0 :(得分:2)

将datepicker添加到div标签

<div id="xyz">
    <sj:datepicker label="Date" name="optOutDate" id="optOutDate1" maxlength="10" value="%     {optOutDate}" cssClass="Datepicker" size="9"  yearRange="2008:2027" changeMonth="true"     changeYear="true" buttonImageOnly="true" displayFormat="mm-dd-yy" showOn="button" />
</div>

然后根据条件隐藏div标签:

$("#xyz").css("display","none");

答案 1 :(得分:1)

正如the answer中提到的类似问题,你需要在隐藏它之前销毁日期选择器:

<script type="text/javascript">
    jQuery(function($){
        $('.Datepicker').datepicker("destroy"),
        $('.Datepicker').hide(),
        $('.tdLabel').hide(),
        $('.label').hide();
    });
</script>

答案 2 :(得分:1)

你应该能够定位元素并像这样隐藏它。

$( ".Datepicker" ).datepicker( "widget" ).hide();

答案 3 :(得分:0)

请参阅以下链接 https://code.google.com/p/struts2-jquery/wiki/DatePickerTag

实施例:  

使用&#34; showAnim&#34;作为用于设置用于显示/隐藏日期选择器的动画名称的属性。使用&#39;显示&#39; (默认设置),&#39; slideDown&#39;,&#39; fadeIn&#39;或任何show / hide jQuery UI效果。默认值:&#39;显示&#39;