///
(function (window) {
jQuery.fn.extend({
disable: function (state) {
return this.each(function () {
this.disabled = state;
});
},
attrs: function () {
///
/// 获得所有属性
///
var _attributes = {};
$.each(this.get(0).attributes, function (i, attrib) {
_attributes[attrib.name] = attrib.value;
});
return _attributes;
}
});
jqUtils = {}
jqUtils.UISelect = {
getText: function (id, hanlder) {
///
/// 获取html select 选中文本
///
///
var _length = arguments.length;
var _text = $("#" + id).find("option:selected").text();
if (_length == 1) {
return _text;
}
if (_length == 2) {
return hanlder(_text);
}
},
setOptionByText: function (id, filterText, fireEvent) {
///
/// 根据文本选中option
///
/// Id
/// 需要选中的文本
/// 是否触发change事件;布尔类型
var _argument = arguments.length;
if (_argument == 2)
$("#" + id + " option:contains(" + filterText + ")").attr('selected', 'selected');
if (_argument == 3 && fireEvent == true)
$("#" + id + " option:contains(" + filterText + ")").attr('selected', 'selected').trigger('change');
}
}
jqUtils.UICheckbox = {
isChecked: function (id) {
///
/// 获取html checkbox是否选中
///
/// 若选中则返回true;否则则返回false
return $("#" + id).attr("checked") == 'checked';
},
getAllStatus: function (array) {
///
/// 获取一组CheckedBox选中状态
/// 若选中则返回1,否则返回0
///
/// eg:var _array=new Array();_array.push('gp1Ck1');_array.push('gp1Ck2');_array.push('gp1Ck3')
var _statusArray = new Array();
for (var i = 0; i < array.length; i++) {
var _ckId = array[i];
_statusArray.push(jqUtils.UICheckbox.isChecked(_ckId) == true ? 1 : 0);
}
return _statusArray;
},
getAllStatusByPrefix: function (prefix, count) {
///
/// 获取一组CheckedBox选中状态
/// 若选中则返回1,否则返回0
///
/// ckeckbox前缀,譬如gp1ck
/// 需要获取checkbox状态数量
var _ckGroup = new Array();
for (var i = 1; i <= count; i++) {
_ckGroup.push(prefix + i);
}
return jqUtils.UICheckbox.getAllStatus(_ckGroup);
}
}
jqUtils.UIRadio = {
getValueByName: function (name) {
///
/// 根据Name获取一组Radio中选中值
///
///
var _radioGroup = $('input[name=' + name + ']');
var _checkedValue = _radioGroup.filter(':checked').val();
return _checkedValue;
}
}
jqUtils.UITable = {
getObj: function (id) {
///
/// 获取Table对象
///
/// Table ID
var _table = $('#' + id + ' > tbody > tr').map(function () {
return $(this).children().map(function () {
return $(this);
});
});
return _table;
},
setCellValue: function (id, rowIndex, cellIndex, cellValue) {
///
/// 设置单元格的值
///
/// Table ID
/// 行索引,从零开始
/// 列索引,从零开始
/// 列值
var _tableObj = jqUtils.UITable.getObj(id);
if (_tableObj.length > 0) {
_tableObj[rowIndex][cellIndex].html(cellValue);
}
},
createHeaderRow: function (id, json) {
///
/// 创建Table Header
///
/// table id
/// json数据
/// Table Header Header
var columnSet = [];
var headerTr$ = $('
');
for (var i = 0; i < json.length; i++) {
var rowHash = json[i];
for (var key in rowHash) {
if ($.inArray(key, columnSet) == -1) {
columnSet.push(key);
headerTr$.append($(' | ').html(key));
}
}
}
$("#" + id).append(headerTr$);
return columnSet;
},
createTable: function (id, json) {
///
/// 创建Table
///
/// table id
/// json数据
var columns = this.createHeaderRow(id, json);
for (var i = 0; i < json.length; i++) {
var row$ = $('
');
for (var colIndex = 0; colIndex < columns.length; colIndex++) {
var cellValue = json[i][columns[colIndex]];
if (cellValue == null) { cellValue = ""; }
row$.append($(' | ').html(cellValue));
}
$("#" + id).append(row$);
}
}
}
window.jqUtils = jqUtils;
})(window);
jQuery.extend({
getJSONExt: function (url, paramter, successed) {
///
/// $.getJSON扩展
///
/// 请求连接
/// 请求参数
/// 成功callback
if (url.indexOf("?") > 0) {
url = url + "&_t=" + Math.random();
} else {
url = url + "?_t=" + Math.random();
}
$.getJSON(url, paramter, function (data, textStatus, jqxhr) {
if (jqxhr.status == 200) {
if (data.Type == "Success") {
successed(data.Data);
}
else {
bootbox.alert(data.Content);
}
}
else {
bootbox.alert("请求发生故障或者错误,请重试!");
}
});
},
postExt: function (url, paramter, successed) {
$.post(url, paramter, function (data, textStatus, jqxhr) {
if (jqxhr.status == 200) {
if (data.Type == "Success") {
successed(data.Data);
}
else {
bootbox.alert(data.Content);
}
}
else {
bootbox.alert("请求发生故障或者错误,请重试!");
}
}, "json")
}
});