$(".panel_wager_container input").change(function(event)
{
var wager = $(this).val();
var multiplier = $('#multiplier').html();
var limit = 15.00;
var winnings = $("#potential_winnings").val();
if(wager - 0 == wager && wager.length > 0) {
if(winnings <= limit) {
$("#potential_winnings").html(Math.round((wager * multiplier) * 100) / 100);
} else {
$("#potential_winnings").html = limit;
$(".panel_wager_container input").html(Math.round((limit / multiplier) * 100) / 100);
}
} else {
$("#potential_winnings").html('0.00');
}
});
我不确定为什么这个jquery代码不起作用。目标是获取输入变量并通过乘数将其倍增以计算出奖金。我想将最高奖金限制在15.00。如果奖金低于限制更新#potential_winnings。如果奖金高于限额,则将#potential_winnings设置为限制变量,然后根据potential_winnings计算投注并设置该投注。
我已经尝试尽可能地调试这个,但我无法找到正确的方法来做到这一点。不起作用的线条似乎是: var winnings = $(“#potential_winnings”)。val(); 奖金永远不会评估为低于限制。如果我用低于限制的变量替换奖金,它会正确评估。
和: $(“。panel_wager_container input”)。html(Math.round((limit / multiplier)* 100)/ 100); 此行不会对所选元素输出任何更改。
这是它正在处理的html脚本:
<div class="panel_wager_inform">Maximum Wager: 170.00</div><br />
<div class="panel_wager_container">
<img src="/img/rounded/input/left.png" class="left" alt="" /><img src="/img/rounded/input/right.png" class="right" alt="" /><div class="input text required"><label for="BetWager">Wager</label><input name="data[Bet][wager]" type="text" value="170.00" id="BetWager" /></div>
</div><br />
<div class="clear"></div>
<strong>Multiplier:</strong> <span id="multiplier">11.85</span>x<br /><br />
<strong>Potential Winnings:</strong>
$<span id="potential_winnings">2,014.84</span>
非常感谢任何帮助。谢谢。
更新:这是我在此主题的指导下使用的解决方案。谢谢你的帮助。
$(".panel_wager_container input").change(function(event)
{
var wager = $(this).val();
var multiplier = $('#multiplier').html();
var limit = 15.00;
var winnings = Math.round((wager * multiplier) * 100) / 100;
if(wager - 0 == wager && wager.length > 0) {
if(winnings <= limit) {
$("#potential_winnings").html(Math.round((wager * multiplier) * 100) / 100);
} else {
$("#potential_winnings").html(limit);
$(".panel_wager_container input").val(Math.round((limit / multiplier) * 100) / 100);
}
} else {
$("#potential_winnings").html('0.00');
}
});
答案 0 :(得分:1)
.val()
仅适用于输入控件。您需要使用.text()
var winnings = $("#potential_winnings").text();
此外,您应该通过调用parseInt()
或使用+
将返回的String“强制转换”为整数。
if(+winnings <= limit) {
}
multiplier
变量也是如此。例如:
$(".panel_wager_container input").change(function(event)
{
var wager = +$(this).val(),
$multiplier = $('#multiplier'),
$potentialwinnings = $("#potential_winnings"),
multiplier = $multiplier.html(),
limit = 15.00,
winnings = +$("#potential_winnings").text();
if(wager.length > 0) {
if(winnings <= limit) {
$potentialwinnings.html(Math.round((wager * multiplier) * 100) / 100);
} else {
$potentialwinnings.html = limit;
$(".panel_wager_container input").html(Math.round((limit / multiplier) * 100) / 100);
}
} else {
$potentialwinnings.html('0.00');
}
});
答案 1 :(得分:0)
最后这个对我有用:
<script>
$(".panel_wager_container input").change(function(event)
{
var wager = $(this).val();
var multiplier = $('#multiplier').html();
var limit = 15.00;
var winnings = $("#potential_winnings").html();
if(wager - 0 == wager && wager.length > 0) {
if(parseFloat(winnings) <= limit) {
$("#potential_winnings").html(Math.round((wager * multiplier) * 100) / 100);
} else {
$("#potential_winnings").html(limit);
$(".panel_wager_container input").html(Math.round((limit / multiplier) * 100) / 100);
}
} else {
$("#potential_winnings").html('0.00');
}
});
</script>
希望这有帮助。