我试图在触发keyup
功能后清除文本字段。
我使用了一个简单的val('')
来清除,但它无效。如果有的话。我希望我的文字字段不允许在第一个地方输入句点或.
,例如.12
。
这是我的keyup
功能:
$('#gross-mass').keyup(function(event) {
var currentVal = $(this).val();
if (parseFloat(currentVal) == 0.00 && (event.which == 48 || event.which == 96)) {
//currentVal = currentVal.slice(0, 3);
currentVal.val(' ');
}
$(this).val(currentVal);
});
答案 0 :(得分:1)
currentVal
不是函数,它是一个字符串。您可以像这样设置其值:
currentVal = ' '
答案 1 :(得分:1)
首先,您需要使用$(this).val("")
,而不是currentVal.val(' ');
(在我的示例中,它只是el.val("")
,因为我已经存储了var el = $(this)
)。您应该在方法结束前删除此行:$(this).val(currentVal);
,因为它将input
的值设置回currentVal
。以下是工作示例,尝试键入0
,input
的值将在keyup
事件后清除:
$('#gross-mass').keyup(function(event) {
var el = $(this)
var currentVal = el.val();
if (parseFloat(currentVal) == 0.00 && (event.which == 48 || event.which == 96)) {
el.val("");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="gross-mass">