关于easyui的一些操作

1、动态添加组件

定义目标位置

<div id="btnDiv"></div>
View Code

2、添加动态组件

function addItems(){
var conditionDiv = '<div class="itemsDiv">'
+' <span style="width:40px">监控项:</span>'
+' <select class="easyui-combobox item" name="item" data-options="editable:false" οnchange="sele_Change()">'
+' <option value="">请选择...</option>'
+' <option value="FAIL_COUNT_DAY">日异常量</option>'
+' <option value="FAIL_COUNT_H">小时异常量</option>'
+' <option value="FAIL_RATIO">异常率</option>'
+' <option value="AVG">分钟平均响应时间</option>'
+' <option value="COUNT">分钟调用量</option>'
+' </select>'
+' <span class="computatRule_span" style="width:40px">规则:</span>'
+' <select class="easyui-combobox computatRule" name="computatRule" data-options="editable:false">'
+' <option value="">请选择...</option>'
+' <option value="FluAscPerBaseOn1Day">同比波动百分比</option>'
+' <option value="Absolute">绝对值</option>'
+' </select>'
+' <span style="width:40px">阀值:</span>'
+' <input class="easyui-textbox threshold" name="threshold" style="width:50px">'
+'<button class="easyui-linkbutton" data-options="iconCls:\'icon-remove\'" style="font-size:12px" οnclick="removeConditionRule()">remove</button>'
+'</div>';

var target = $('#btnDiv').before(conditionDiv);

    //var targetObj = $(newElement).appendTo("#container");
$.parser.parse(target);
};

 

3、动态组件删除

function removeConditionRule(id) {
$('#' + id).remove();
}

 

4、动态组件取值

function getItemsValue(){
var itemsValue=[];

$('.itemsDiv').each(function(){
var outCom = $(this);

var itemCom = outCom.find($(".item"));

var computatRuleCom = outCom.find($(".computatRule"));

var thresholdCom = outCom.find($(".threshold"));

var valObj = {
"item":itemCom .val(),

"computatRule":computatRuleCom .val(),

"threshold":thresholdCom .val();

}

itemsValue.push(valObj);

});

}

 

5、datebox 范围限制

<input class="easyui-datebox" data-options="formatter:myformatter,parser:myparser,onSelect:selectStartDate" style="width: 110px" id="StartTime">
To :
<input class="easyui-datebox" data-options="formatter:myformatter,parser:myparser,onSelect:selectEndDate" style="width: 110px" id="EndTime">
$(function () {
bindDateBlur($("#StartTime")); bindDateBlur($("#EndTime"));
//控件的初始限制
$('#EndTime').datebox().datebox('calendar').calendar({
validator: function (endDate) {
return endDate <= new Date();
}
});
$('#StartTime').datebox().datebox('calendar').calendar({
validator: function (startDate) {
return startDate <= new Date();
}
});
})

 

//easyui官方重写时间格式的方法
function myformatter(date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d);
}
function myparser(s) {
if (!s) return new Date();
var ss = (s.split('-'));
var y = parseInt(ss[0], 10);
var m = parseInt(ss[1], 10);
var d = parseInt(ss[2], 10);
if (!isNaN(y) && !isNaN(m) && !isNaN(d)) {
return new Date(y, m - 1, d);
} else {
return new Date();
}
}

//当选择开始日期时限定结束日期的范围
function selectStartDate(startDate) {
//返回calendar会清空EndTime内容,需要保存下
var tempEndDate = $('#EndTime').datebox('getValue')
$('#EndTime').datebox().datebox('calendar').calendar({
validator: function (endDate) {
//限定日期选择范围
return endDate >= startDate && endDate <= new Date();
}
});
//将EndTime写回去
$('#EndTime').datebox('setValue', tempEndDate);
}
//当选择结束日期时限定开始日期的范围
function selectEndDate(endDate) {
var tempStartDate = $('#StartTime').datebox('getValue');
$('#StartTime').datebox().datebox('calendar').calendar({
validator: function (startDate) {
return startDate <= endDate && startDate <= new Date();
}
});
$('#StartTime').datebox('setValue', tempStartDate);
}

 

//datebox的绑定事件
function bindDateBlur(st) {

st.datebox('textbox').bind('blur', function () {
var s = st.textbox('getText');
if (!s) return new Date();
var nt = s.replace(/\//g, '-');
s = (nt.split('-'));
var a = parseInt(s[0], 10);
var b = parseInt(s[1], 10);
var c = parseInt(s[2], 10);
var date = new Date();
if (!isNaN(a) && !isNaN(b) && !isNaN(c)) {
st.datebox('setValue', nt);
} else if (!isNaN(a) && !isNaN(b)) {
var y = date.getFullYear();
st.datebox('setValue', y + '-' + a + '-' + b);
} else {
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
st.datebox('setValue', y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d));
}
});
}

6、动态获取表头的列名及显示名称

GetFrozeData = function (gridStr, isFroze) {
     //获取所有未冻结列数据
     var cols = $(gridStr).datagrid('getColumnFields', isFroze);
     var array = [];
     for (var i in cols) {     
         //获取每一列的列名对象
         var col = $(gridStr).datagrid("getColumnOption", cols[i]);
         //声明对象
         var obj = new Object();
         obj["value"] = cols[i];
         obj["text"] = col.title.trim();
         //追加对象
         array.push(obj);
     }   
     return array;
 }
因为表格增加单选框之后,列头的单选框是无效的,所以需要隐藏
onLoadSuccess: function () {
      $("#tg").parent().find("div .datagrid-header-check").children("input[type=\"checkbox\"]").eq(0).attr("style", "display:none;");
 }

 7、loading

/*进度条提示*/
    $.messager.progress({
                    title: '提示',
                    msg: '导出中,请稍候……',
                    text: ''
                });

 /*关闭提示*/
$.messager.progress('close');
View Code

 8、修改layout 宽度高度

$('#p1').layout('panel', 'west').panel('resize', { height: height - 33 });

posted @ 2021-07-02 13:49  若白过隙  阅读(69)  评论(0编辑  收藏  举报