我希望在用户输入字段km时更新字段数量。我使用 .change 但该字段仅在字段失去焦点时更新,如onfocusout事件。为了存档我的请求,我尝试了什么?
<label>Expense</label>
<select id="ExpenseTypeId" name="ExpenseTypeId">
<option value=""></option>
<option value="1">Avance sur frais</option>
<option value="2">Carburant voiture societé</option>
<option value="3">Frais kilométriques</option>
</select>
<label id="kmtxt" class="hidden">Distance (the amount will be automatically calculated</label>
<input type='text' id="km" class="hidden"/>
<label id="amounttxt" >Amount</label>
<input type='text' id="amount" />
<script>
$('#ExpenseTypeId').change(function(){
var selected_item = $(this).val()
if(selected_item == "3"){
$('#kmtxt').val("").removeClass('hidden');
$('#km').val("").removeClass('hidden');
$('#amount').prop('readonly', true);
}else{
$('#kmtxt').val(selected_item).addClass('hidden');
$('#km').val(selected_item).addClass('hidden');
}
});
$("#km").change(function () {
var price = Number($(this).val());
var total = (price) * 0.25;
$("#amount").val(total);
});
</script>
答案 0 :(得分:6)
使用keyup
代替change
元素<{1}}元素
#km
答案 1 :(得分:2)
请勿使用change
,而是使用keyboard
事件。
将您的活动更改为keyup
$('"#km"').keyup(function(){
var price = Number($(this).val());
var total = (price) * 0.25;
$("#amount").val(total);
});
<强> Fiddle 强>