easyui中遇到的小问题以及jquery知识点

easyui使用

1.为combobox赋值时如下使用:

 $("#projectName").combobox('setValue', projectid);

但是在使用这句话的时候,没有达到预期的效果(在下拉的列表中选中所赋的选项),主要原因是由后台取出来的id是小写的,但是combobox中的data里的数据value是大写的一个id串,故出现了错误。这个错误相比其他误写更不易发现。

combobox设为只读不可编辑

 $("#add_budgetdepartments").combobox('disable');

2.希望将dialog中的按钮定义在中间,则可以更改其样式。

 .dialog-button { padding: 5px; text-align: center; }
3.将combobox与datebox等设置为只读的时候用:
$("#date").datebox({ disabled: "disabled" });
$("#riskDegree").combobox({ disabled: "disabled" });
4.easyui渲染问题,在一次使用layout布局, 总在刷新页面,西面区域把中间区域挤到下面去(即渲染出了问题)。以及其他的特别是用class="easyui-*"这种形式 ,也会有问题,所以建议都用js的方式去定义easyui控件。

这时候需要手动去渲染:parser是一个解析器。当我们在html中用了class标签后,解析器就会为我们在html加载完时渲染一次页面。但是,有时我们就会遇到渲染不上的情况,则需要我们手动去调用了。

在调用的时候注意几个问题:

   1.  解析的目标是你指定目标的子孙,不包含它本身。例如下面代码

 

<div class="easyui-layout" data-options="fit:true" id="layoutddd">
       <div data-options="region:'north'" split="true"  style="height:115px;">
       </div>
       <div data-options="region:'west'" split="true" title="质量计划" style="width:340px;">
            <ul id="taskTree"></ul>
       </div>
       <div data-options="region:'center'" title="质量检查查询">
           <table id="grid"></table>
       </div>
 </div>
我们要重新渲染整个layout,则要解析它的父级

   $(function () {
        $.parser.parse($('#layoutddd').parent());
    })
2.对于第二个问题我没有尝试,只是在这里记录下来,以备日后会用到。这个要注意的问题是我看到的一篇文章里的,我忘了具体出处,在这里引用一下只是希望方便大家。
  对于某些组件无法多次解析同一个DOM

<span style="font-size:14px;"><div class="easyui-accordion" id="accordion"></div></span>

对于这种的,如果要想用js动态加载其子项,然后重新渲染可能是不可行的。

<span style="font-size: 14px;">$("#</span><span style="font-size: 14px;">accordion</span><span style="font-size: 14px;">").append('<div title="子项1"></div></span><span style="font-size: 14px;"><div title="子项2"></div></span><span style="font-size: 14px;">')</span>
 $.parser.parse($('#<span style="font-family: Arial, Helvetica, sans-serif;">accordion</span><span style="font-family: Arial, Helvetica, sans-serif;">').parent());</span>

5.easyui中的dialog位置设置的情况。可以通过一个固定位置的DOM节点的位置来设置弹出dialog的位置。同时也可以通过滚动轴的位置来设置dialog在存在滚动轴的时候依然在页面中间位置显示。

在在某个DOM节点固定位置显示

var Y = $('#ta').offset().top - 30;
var X = $('#ta').offset().left + 60;
$('#dialog1').panel('move', {
            left: X,
            top: Y
        });

通过滚动轴及窗口高度来调整使dialog居中。

  $("#dialog1").panel("move", { top: $(document).scrollTop() + ($(window).height() - 380) * 0.5 });

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Jquery使用

  1.在文本框中写入数据而动态改变其他文本区域时,用keyup事件(在jquery中用keyup,在js中使用onKeyUp)
如果在改变数据后进行动态改变,则可使用change事件,blur也可以但不推荐使用。

 2.radio 使用(这里的name为组名)
从后台取得value值,给radio动态赋值时:

 $("input[name='switch']").each(function () {
         if ($(this).val() == value) {
                $(this).attr("checked", true);
            }
        })

取值时:
  $("input[name=switch]").each(function () {
            if ($(this).attr("checked")) {
                checkresult = $(this).val();
            }
        });
3.让整个form变成只读的,这是jquery1.6之前这么用
$('input,select,textarea',$('form[name="my_form"]')).attr('readonly',true);
以后的这样用
$('input,select,textarea',$('form[name="my_form"]')).prop('readonly',true);
不过试了试,1.6以后的用attr一样可以,应该是兼容的。

$("input:not(:button,:hidden)").prop("readonly", true);
排除是按钮的或者隐藏的。

4.在前台用js保留两位小数的做法

    function showmoney(value, row, index){
        var result=undefined;
        if (value == null)
            return;
        else{
            result=new Number(value);
            result=result.toFixed(2);
        }
        return result;
    }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值