我正在使用以下代码根据输入的代码执行值更新。但这是错误的。
ex:如果促销代码要将价格降低10,而当前的总数为100,则返回80。应为90。
jQuery(document).ready(function() {
$('#promo-code').keyup(function() {
if ($("input:text[name='promo-code']").val() == "intro") {
var promoval = parseFloat($("input:text[name='total']").val());
$("#total").val(promoval-10);
}
});
针对您的问题的即兴解决方案:
jQuery(document).ready(function() {
$('#promo-code').change(function() {
if ($(this).val() == "intro") {
var promoval = parseFloat($("input:text[name='total']").val());
$("#total").val(promoval-10);
}
}
});
尝试以下其他 keyup
,而不是 CC_1。因为当您使用keyup
时,它会射击每个关键事件。
$(document).ready(function() {
$('#promo-code').focusout(function() {
if ($("input:text[name='promo-code']").val() == "intro") {
var promoval = parseFloat($("input:text[name='total']").val());
$("#total").val(promoval-10);
}
});
});
检查下面的摘要以获取参考。
$('#total').val(100);
$('#promo-code').focusout(function() {
if ($(this).val() == "intro") {
var promoval = parseFloat($('#total').val());
$("#total").val(promoval - 10);
} else {
alert('invalid promo');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="promo-code">
<input type="text" id="total">
我希望您正确设置HTML,并且密钥功能应该可以正常工作。但是您还想检查其他答案中提到的其他方法。我建议您选择change
方法。
jQuery(document).ready(function() {
$('#promo-code').keyup(function() {
if ($("input:text[name='promo-code']").val() == "intro") {
var promoval = parseFloat($("input:text[name='total']").val());
$("#total").val(promoval-10);
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="promo-code" type="text" id="promo-code"/>
<input name="total" type="text" value="100" id="total"/>