有人能帮我处理这个代码吗,我';当按下bs键(Jquery)时,我试图清除一个文本框?
问题是,我想在用户按Backspace键时清除txt_monto,我已经尝试过:有人能帮我处理这个代码吗,我';当按下bs键(Jquery)时,我试图清除一个文本框?,jquery,performance,jquery-ui,jquery-mobile,Jquery,Performance,Jquery Ui,Jquery Mobile,问题是,我想在用户按Backspace键时清除txt_monto,我已经尝试过: if(e.keyCode==8){ $(“#txt_monto”).val(accounting.formatMoney(0,'$); } 但它只适用于Opera、Firefox、IE或Chrome,不起作用 if(e.keyCode >= 48 && e.keyCode <= 57) { if($("#txt_monto").val()
if(e.keyCode==8){
$(“#txt_monto”).val(accounting.formatMoney(0,'$);
}
但它只适用于Opera、Firefox、IE或Chrome,不起作用
if(e.keyCode >= 48 && e.keyCode <= 57)
{
if($("#txt_monto").val().length > 1)
{
var current_value = parseFloat($("#txt_monto").val().replace('$',''));
// e.preventDefault();
//Key code is always going to be higher than 48..
var value = parseFloat(e.keyCode) - 48;
value = (current_value * 10) + value;
$("#txt_monto").val(accounting.formatMoney(value, '$'));
}
}
else
{
if(e.keyCode == 8){
$("#txt_monto").val(accounting.formatMoney(0, '$'));
}
e.preventDefault();
}
if(e.keyCode>=48&&e.keyCode 1)
{
var current_value=parseFloat($).val().replace('$','');
//e.预防违约();
//密钥代码始终高于48。。
var值=parseFloat(e.keyCode)-48;
值=(当前_值*10)+值;
$(“#txt_monto”).val(accounting.formatMoney(value,“$”);
}
}
其他的
{
如果(e.keyCode==8){
$(“#txt_monto”).val(accounting.formatMoney(0,'$);
}
e、 预防默认值();
}
这是整个脚本,在我看来一切都是正确的,我已经尝试过了,我不认为这是一个语法问题,我认为Chrome和IE还有其他问题,因为它在Opera上运行良好:
<script>
$(document).ready(function(){
$("#txt_monto").keyup(function(){
var value = $('#txt_monto').val();
$(this).val(accounting.formatMoney(value, '$'));
});
$("#txt_monto").keypress(function(e){
if(e.keyCode >= 48 && e.keyCode <= 57)
{
if($('#txt_monto').val().length > 1)
{
var current_value = parseFloat($("#txt_monto").val().replace('$',''));
// e.preventDefault();
//Key code is always going to be higher than 48..
var value = parseFloat(e.keyCode) - 48;
value = (current_value * 10) + value;
$("#txt_monto").val(accounting.formatMoney(value, '$'));
}
}
else
{
if(e.keyCode == 8){
$("#txt_monto").val(accounting.formatMoney(0, '$'));
}
e.preventDefault();
}
});
});
$(文档).ready(函数(){
$(“#txt_monto”).keyup(函数(){
var值=$('#txt_monto').val();
$(this.val(accounting.formatMoney(value,“$”);
});
$(“#txt_monto”).按键(功能(e){
如果(e.keyCode>=48&&e.keyCode 1)
{
var current_value=parseFloat($).val().replace('$','');
//e.预防违约();
//密钥代码始终高于48。。
var值=parseFloat(e.keyCode)-48;
值=(当前_值*10)+值;
$(“#txt_monto”).val(accounting.formatMoney(value,“$”);
}
}
其他的
{
如果(e.keyCode==8){
$(“#txt_monto”).val(accounting.formatMoney(0,'$);
}
e、 预防默认值();
}
});
});
好的,这是我对该部分的HTML:
<td> <p> Monto a regargar: </p> </td>
<td><input type="text" class="txt1" name="txt_monto" id="txt_monto" maxlength="4" ></td>
Monto a regargar:
尝试使用类似以下脚本的方法将keycode正确分配给变量,然后将该变量用作keycode(而不是e.keycode)。我会给你更多的信息,但我自己仍在学习javascript
$(document).keypress(function (myEvent) {
var key = myEvent.keyCode ? myEvent.keyCode : myEvent.which ? myEvent.which : myEvent.charCode;
});
正如我所说,我自己仍在学习,但我一直在使用这些代码来实现类似于您所拥有的函数。如果您尝试一下,也许可以
$("#txt_monto").keypress(function(e){
var key = e.keyCode || e.which;
if(key >= 48 && key <= 57)
{
if($('#txt_monto').val().length > 1)
{
var current_value = parseFloat($("#txt_monto").val().replace('$',''));
// e.preventDefault();
//Key code is always going to be higher than 48..
var value = parseFloat(key) - 48;
value = (current_value * 10) + value;
$("#txt_monto").val(accounting.formatMoney(value, '$'));
}
}
else
{
if(key == 8){
$("#txt_monto").val(accounting.formatMoney(0, '$'));
}
e.preventDefault();
}
});
$(“#txt_monto”)。按键(功能(e){
var key=e.keyCode | | e.which;
如果(键>=48和键1)
{
var current_value=parseFloat($).val().replace('$','');
//e.预防违约();
//密钥代码始终高于48。。
var值=parseFloat(键)-48;
值=(当前_值*10)+值;
$(“#txt_monto”).val(accounting.formatMoney(value,“$”);
}
}
其他的
{
如果(键==8){
$(“#txt_monto”).val(accounting.formatMoney(0,'$);
}
e、 预防默认值();
}
});
代码的其余部分在哪里?可能会有帮助。谢谢Wesley,但问题不在于“'”,这是我在键入问题时的一个输入错误。如果您也能提供您的HTML,那将是非常好的。我的HTML现在就在那里..我尝试了var=e.Which | | e.keyCode;这不起作用,尝试了“var key=myEvent.keyCode”?myEvent.keyCode:myEvent.which?myEvent.which:myEvent.charCode;”“那也不行