的問題是,我要清除的txt_monto當用戶按Backspace鍵,我已經嘗試過:任何人都可以幫我用這段代碼,我試圖按bs時按下(jquery)來清除文本框?
if(e.keyCode == 8){ $("#txt_monto").val(accounting.formatMoney(0, '$')); }
但它只能在Opera,火狐,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();
}
這是整個劇本,一切看起來正確的給我,我都試過,我不認爲這是一個語法問題,我認爲還有別的東西錯了,一些關於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();
}
});
});
OK,這是我的HTML對於部分:
<td> <p> Monto a regargar: </p> </td>
<td><input type="text" class="txt1" name="txt_monto" id="txt_monto" maxlength="4" ></td>
代碼的其餘部分在哪裏?可能會有幫助。 – putvande
謝謝韋斯利,但問題不是那個「'」,那是我輸入問題時的拼寫錯誤。 – Molinator
如果你也可以提供你的HTML,這將是非常好的。 – Gajotres