我正在使用 struts2 jquery 插件的 datepicker 如下
<sj:datepicker id="frdate" name="training.fromDate"
label="From Date (dd-mm-yyyy)" maxDate="0" />
我想在某些条件下隐藏它。我写了一个像这样的jquery。
$("#frdate").hide(); //this will hide textbox of datepicker
$("label[for='frdate']").hide(); // this will hide label of datepicker
但日期选择器按钮仍然显示?如何使用jquery隐藏它?
The generated html code is:
<tr>
<td class="tdLabel">
<label for="frdate" class="label">From Date (dd-mm-yyyy):</label></td>
<td><input type="text" name="training.fromDate" value="" id="frdate"/></td>
</tr>
<script type='text/javascript'>
jQuery(document).ready(function () {
jQuery.struts2_jquery_ui.initDatepicker(false);
});
jQuery(document).ready(function () {
var options_frdate = {};
options_frdate.showOn = "both";
options_frdate.buttonImage = "/ONLINE/struts/js/calendar.gif";
options_frdate.maxDate = "0";
options_frdate.jqueryaction = "datepicker";
options_frdate.id = "frdate";
options_frdate.name = "training.fromDate";
jQuery.struts2_jquery_ui.bind(jQuery('#frdate'),options_frdate);
});
</script>
要隐藏日期选择器,您需要
- 从输入文本字段中销毁日期选择器功能
- 隐藏输入文本字段
要显示日期选择器,您需要
这是演示:http://jsfiddle.net/ezKwN/ http://jsfiddle.net/ezKwN/
function hideIt(){
$( "#frdate" ).datepicker( "destroy" );
$( "#frdate" ).hide();
}
function showIt(){
$( "#frdate" ).show();
$( "#frdate" ).datepicker();
}
我不知道这是否也适用于 Struts2 jQuery datepicker,但我希望如此。
但考虑到使用该标签,您将该功能硬编码到页面,它不应该是动态的,那么(如果上述解决方案不起作用),如果您需要根据用户交互显示/隐藏它,您应该考虑使用本机 jQuery 日期选择器而不是 Struts2 日期选择器(仅适用于动态日期选择器)
编辑:作为另一种选择(比使用本机 jQuery 重新编码所有日期选择器的影响更小),您可以简单地将标签封装在<div>
,并隐藏/显示 div。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)