我遇到了一个问题;我的网页上有多个html输入框,甚至在多个表格列中,用户可以在其中编辑业务计算。
问题是当用户在任何文本框中输入值时;如果他打算输入另一个,他有四种方法可以清除价值。
第四种情况失败了。请帮助第四种情况。
代码:
<input type="text" id="tust"/>
$(document).ready(function(){
document.getElementById('tust').onblur = issueDes;
$("input").on("keyup keydown",function (e) {
if(this.value!='-')
while(isNaN(this.value))
this.value = this.value.split('').reverse().join('').replace(/[\D]/i,'').split('').reverse().join('');
});
});
function issueDes() {
$("#tust").val(this.value+"%");
}
答案 0 :(得分:1)
检测selction和keyCode。希望这对你有用。只有选定的值才会删除。
arr = [08,127,46];
$(document).ready(function(){
document.getElementById('tust').onblur = issueDes;
$("input").on("keyup keydown",function (e) {
var checkCode = $.inArray( e.keyCode, arr );
if (window.getSelection) {
var selectionRange = window.getSelection ().toString ();
if((selectionRange.length > 0) && (checkCode != -1)){
var value = $("#tust").val();
$("#tust").val(value.replace(selectionRange,""))
}
}
if(this.value!='-')
while(isNaN(this.value))
this.value = this.value.split('').reverse().join('').replace(/[\D]/i,'').split('').reverse().join('');
});
});
function issueDes() {
var currVal = this.value;
if(currVal != "" && currVal.indexOf("%") == -1){
$("#tust").val(this.value+"%");
}
}