使用jquery-easyui写的简单通用查询

阅读更多
[size=x-large]
自己使用jquery-easyui编写的简单通用查询,字段类型未做判断,以后完善。
search.html代码如下:

	
		
		通用查询
		
		
		
		
		
		
		
		
	
	
		
		打开高级检索
		关闭高级检索
		
		
  字段 操作符 内容 逻辑条件


search.js代码如下:
var colFilter = [['col1','字段1','n'],['col2','字段2','s'],['col3','字段3','s'],['col4','字段4','s'],['col5','字段5','s'],['col6','字段6','d'],['col7','字段7','s']]
var opFilter = [['=','等于'],['<','小于'],['<=','小于等于'],['>','大于'],['>=','大于等于'],['<>','不等于'],['like','近似于']];
var logicFilter = [['and','并且'],['or','或者']];
var contentId = 0;

function findData() {
	where = " where (";
	var colname = "";
	var coltype = "";
	var colRealname = "";
	var opname = "";
	var text = "";
	var logicname = "";
	for(var i = 0 ; i < contentId ; i++) {
		if($('#checkbox'+i)[0] == undefined)
			continue;
		if($('#text'+i)[0].value == "") {
			$.messager.alert('提示', '请填写查询内容', 'info');
			return;
		}
		colname = $('#col'+i)[0].value;
		opname = $('#op'+i)[0].value;
		text = $('#text'+i)[0].value;
		if(opname == "like") {
			text = "%"+text+"%";
		}
		logicname = $('#logic'+i)[0].value;
		coltype = getColType(colname);
		colRealname = getColRealname(colname);
		switch(coltype) {
			case "s":
				where += colname + " " + opname + " '" + text + "' " + logicname + " ";
				break;
			case "n":
				if(opname != "like") {
					text = parseInt($('#text'+i)[0].value);
					if(isNaN(text)) {
						$.messager.alert('提示',colRealname+'应输入数字','info');
						return;
					}
					where += colname + " " + opname + " " + text + " " + logicname + " ";
				} else {
					where += colname + " " + opname + " '" + text + "' " + logicname + " ";
				}
				break;
			case "d":
				where += "to_date(to_char(" + colname + ",'yyyy-MM-dd'),'yyyy-MM-dd') " + opname + " to_date('" + text + "','yyyy-MM-dd') " + logicname + " ";
				break;
			default:
				$.messager.alert('提示','出现未知数据类型','info');
				return;
		}
	}
	where += "1=1)";
	alert(where);
	
	closeDiv();
}

function getColType(col) {
	for(var i = 0 ; i < colFilter.length ; i++) {
		if(colFilter[i][0] == col) {
			return colFilter[i][2];
		}
	}
	return undefined;
}

function getColRealname(col) {
	for(var i = 0 ; i < colFilter.length ; i++) {
		if(colFilter[i][0] == col) {
			return colFilter[i][1];
		} else {
			return undefined;
		}
	}
}

function addFilter() {
	var html = '';
	
	html += '';
	html += '';
	html += '';
	
	html += '';
	html += '';
	html += '';
	
	html += '';
	html += '';
	html += '';
	
	html += '';
	html += '';
	html += '';
	
	html += '';
	html += '';
	html += '';
	
	html += '';
	$('#filterContent').append(html);
	$('#op'+contentId).attr('value','like');

	if(getColType($('#col'+contentId)[0].value) == "n") {
		$('#text'+contentId).bind("keypress",function(sender) {
			if(isNaN(parseInt(String.fromCharCode(sender.keyCode)))) {
				$.messager.alert('提示','请输入数字','info');
				return false;
			} else {
				
			}
		});
	}
	
	$('#col'+contentId).bind('change', contentId, function(sender) {
		var colType = getColType(this.value);
		switch(colType) {
			case "s":
				$('#text'+sender.data).unbind('click');
				$('#text'+sender.data).unbind('keypress');
				break;
			case "n":
				$('#text'+sender.data).bind("keypress",function(sender) {
					if(isNaN(parseInt(String.fromCharCode(sender.keyCode)))) {
						$.messager.alert('提示','请输入数字','info');
						return false;
					} else {
						
					}
				});
				break;
			case "d":
				$('#text'+sender.data).bind('click', function(){ WdatePicker(); });
				break;
			default:
				$('#text'+sender.data).unbind('click');
				$('#text'+sender.data).unbind('keypress');
		}
	});
	contentId += 1;
}

function delFilter() {
	var ischeck = 0;
	for(var i = 0 ; i < contentId ; i++) {
		if($('#checkbox'+i)[0] == undefined)
			continue;
		if($('#checkbox'+i)[0].checked)
			ischeck += 1;
	}
	if(ischeck == 1) {
		var selectId = 0;
		for(var i = 0 ; i < contentId ; i++) {
			if($('#checkbox'+i)[0] == undefined)
				continue;
			if($('#checkbox'+i)[0].checked) {
				selectId = i;
				break;
			}
		}
		$('#tr'+selectId).remove();
	} else {
		$.messager.alert('提示', '请选择一条数据', 'info');
	}
}

function upFilter() {
	$.messager.alert('提示', '该功能已被屏蔽', 'info');
}

function downFilter() {
	$.messager.alert('提示', '该功能已被屏蔽', 'info');
}

function clearFilter() {
	for(var i = 0 ; i < contentId ; i++) {
		if($('#checkbox'+i)[0] == undefined)
			continue;
		$('#tr'+i).remove();
	}
	contentId = 0;
}

[/size]
  • search.rar (2.6 KB)
  • 下载次数: 243
  • My97DatePicker.rar (21.9 KB)
  • 下载次数: 133

你可能感兴趣的:(jQuery,HTML,IE)