1.下拉框绑定失去焦点事件并设置焦点的方法:
$("#ID").next().children().blur(function () {
var ID= $("#ID").val();
if (ID== "") {
ShowInfoBox("资料不允许为空,请输入!");
$("#ID").next().children().focus();
return false;
}
});
2.下拉框Tab键触发事件指定下一焦点的位置:
2.1 方法一:
$("#ID").next().children().keydown(function () {
var oEvent = window.event;
if (oEvent.keyCode == '9') {
oEvent.keyCode = 0;
oEvent.returnValue = false;
//alert("你按下了Tab键");
var ID= $("#ID").val();
if (ID == "" || ID == null || ID == undefined) {
ShowInfoBox("资料不允许为空,请输入!");
$("#ID").next().children().focus();
return false;
}
}
});
注意:Easy UI 的下拉框比较特殊,我发现这种编码方式在一个页面中使用多个选项卡的情况下,只在第一个选项卡中这个方法有效果,后面的选项卡没有效果(还未找到原因,知道原因的朋友,望评论区告知,谢谢),所以后来我采取了下面的这种方法
2.2 方法二:
document.onkeydown = function (e) {
var currKey = 0, e = e || event;
currKey = e.keyCode || e.which || e.charCode
if (currKey == 9) {
var focus_id = document.activeElement.id; // _easyui_textbox_input23
var comId = focus_id;
if (focus_id.indexOf("easyui_textbox_input") != -1) {
comId = $($('#' + focus_id).parent().parent().find('input')[0]).attr('id');
}
if (comId == "AE_CRNCY_CODE") {
var CRNCY_CODE = $("#AE_CRNCY_CODE").val();
if (CRNCY_CODE == "" || CRNCY_CODE == null || CRNCY_CODE == undefined) {
ShowInfoBox("资料不允许为空,请输入!", 1, "AE_CRNCY_CODE_focus");
//$("#AE_CRNCY_CODE").next().children().focus();
return false;
}
}
}
}