因其他无关代码比较多,只贴关键代码,请谅解。
解释:
tblGrid是表格的id ,<pre name="code" class="html">onchange是每个单元格都拥有的方法,当然可以根据实际情况更改
flag是标志位,保证按照我想要的顺序新增tabindex
<script type="text/javascript">
$(function() {
var baseIndex = 100;
var flag=1;
$("#tblGrid").find("tr").each(function(r) {
if($(this).find("[onchange]").length >0){
$(this).find("[onchange]").each(function(c) {
$(this).attr("tabindex", flag * 100 + c + baseIndex);
});
flag++;
}
});
});
</script>
<pre name="code" class="html">/**
控制input框 限制只能输入数字
*/
function check(event) {
var e = window.event || event;
var target = e.srcElement || e.target;
var tabIndex=target.tabIndex;
var className=target.className;
var k = e.keyCode;
if(isFunKey(k,tabIndex)) {
return true;
}
var c = getChar(k);
if(target.value.length == '' && (c == '-' || c == '+')) {
return true;
}
if(isNaN(target.value + getChar(k))) {
return false;
}
return true;
}
function isFunKey(code,tabIndex) {
// 8 --> Backspace
// 9 --> tab
// 35 --> End
// 36 --> Home
// 37 --> ←
// 38 --> ↑
// 39 --> →
// 40 --> ↓
// 46 --> Delete
// 112~123 --> F1~F12
var funKeys = [8,9, 35, 36, 37,38, 39,40, 46];
for(var i = 112; i <= 123; i++) {
funKeys.push(i);
}
for(var i = 0; i < funKeys.length; i++) {
if(funKeys[i] == code) {
if(funKeys[i]==38){
tabIndex -= 100;
$("input[tabindex=" + tabIndex + "]").focus();
return false;
}else if(funKeys[i]==40){
tabIndex += 100;
$("input[tabindex=" + tabIndex + "]").focus();
return false;
}else if(funKeys[i]==37){
tabIndex--;
$("input[tabindex=" + tabIndex + "]").focus();
return false;
}else if(funKeys[i]==39){
tabIndex++;
$("input[tabindex=" + tabIndex + "]").focus();
return false;
}
return true;
}
}
return false;
}