easyui-datetimebox的隐藏和显示

关于easyui中的combobox的隐藏和显示网上有很多教程,此次项目中要求的是根据不同的状态隐藏和显示日期时间控件,即easyui-datetimebox,这里采用的是动态追加和删除的方式来实现的。

显示:

      这里采用的是jquery中的after和appendTo方法,但是这两个方法还有些细微的差别。

      首先看appendTo的方法实现:

                            

var tobj2 = $('<td id=\'timebegin\'><input class=\'easyui-datetimebox\' type=\'text\' name=\'receptbegintime\' id=\'receptbegintime_search\' data-options=\'\'></input></td>').appendTo('#enttr');
													$.parser.parse(tobj2);
      因为appendTo是在元素内部添加,所以这种方式只适用于在父元素内部追加元素的情况,这里的parse方法是让easyui重新渲染组件,这样就可以加载相应的样式了,否则的样式会丢失(失败)。

     下面看after方式:

      

$('#tddd').after($('<td id=\'tid\' class=\'align-right\' width=\'8%\'>维护卡号:</td>'));
														$('#tid').after($('<td id=\'tidd\'></td>'));
														var tobj2 = $('<input class=\'easyui-textbox\' type=\'text\' name=\'certnumber\' id=\'dd\' data-options=\'\'></input>').appendTo('#tidd');
														$.parser.parse(tobj2.parent());
     这里实际上我追加了多个元素,首先在tddd元素 (外面)的后面追加tid元素,再在tid元素的后面追加tidd元素,最后在tidd元素里面追加dd元素。这里要注意到appendTo和after的区别了:前者返回的是被追加元素的父元素,而后者返回的是被追加元素本身,而parse方法实际上是重新渲染传入参数的子元素(不包括元素本身),所以这时候要只传入tobj2是无法使easyui的样式生效的,这里需要用到一个小技巧,就是取after返回元素的父元素,即调用下parent()方法。


删除:

     

if($('#tid').length>0){
														$('#tid').remove();
											    		$('#tidd').remove();
													}
这里需要用jquery去判断一个元素是否存在,如果存在采取删除,当然上面的添加操作也要判断,只不过逻辑的相反的。

jquery中判断元素是否为空不能像javascript直接判断,因为$()返回的永远是对象,即if条件永远为真,所以得加一个条件,即判断它的length是否大于0,大于0即表示元素存在,否则不存在。















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值