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;
}