当复选框被选中时,如何在金额前显示美元符号?
How can I show a dollar sign before the amount value when the checkbox is checked?
未勾选时显示$0.00
当我选中复选框时,它将显示1.00
。我想让它显示$1.00
。我该怎么做呢?
JS Fiddle演示
这是代码:
<form id="form1" method="post">
<input type="text" id="totalcost" value="$0.00">
<input type="checkbox" value="aa_1">
<input type="checkbox" value="aa_2">
<input type="checkbox" value="aa_3">
</form>
<script type="text/javascript">
var clickHandlers = (function () {
var form1 = document.getElementById("form1"),
totalcost = document.getElementById("totalcost"),
// if this is always the last input in the form, we could avoid hitting document again with
// totalcost = form1[form1.length - 1];
sum = 0;
form1.onclick = function (e) {
e = e || window.event;
var thisInput = e.target || e.srcElement;
if (thisInput.nodeName.toLowerCase() === 'input') {
if (thisInput.checked) {
var val = thisInput.value, // "bgh_9.99"
split_array = val.split("_"), // ["bgh", "9.99"]
pay_out_value = split_array[1]; // "9.99"
sum += parseFloat(pay_out_value); // 9.99
} else {
if (thisInput.type.toLowerCase() === 'checkbox') {
var val = thisInput.value, // "bgh_9.99"
split_array = val.split("_"), // ["bgh", "9.99"]
pay_out_value = split_array[1]; // "9.99"
sum -= parseFloat(pay_out_value); // 9.99
}
}
totalcost.value = (sum > 0) ? sum.toFixed(2) : "$0.00";
}
}
return null;
}());
</script>
修改这一行:
totalcost.value = (sum > 0) ? sum.toFixed(2) : "$0.00";
totalcost.value = (sum > 0) ? "$" + sum.toFixed(2) : "$0.00";
^
这将在你的价格前加上$ !
小提琴
只需在value后面加上$:
totalcost.value = (sum > 0) ? '$' + sum.toFixed(2) : "$0.00";
小提琴
相关文章:
- 背景图像前显示Javascript警报
- 如何在方程式前显示数字
- 关闭窗口前显示提示
- 如何在卸载前显示自己的模式对话框之前显示它
- 上传前显示缩略图
- 如何在提交前显示复选框值,或者在勾选时显示复选框本身
- Javascript:无法在页面卸载前显示警报
- 上传前显示所选图像
- 图像不't在弹出框前显示
- 如何使timeago.js仅在几个小时前显示
- 页面重新加载前显示的消息,页面重新加载后不工作
- 使用Rails应用程序中的BigVideo.js插件,无法在视频背景前显示文本
- 点击前显示内容的手风琴
- 使用setinterval在最终数字前显示随机数字
- 如何用AngularJS在过滤前显示加载消息
- 多相表单(向导)在提交前显示所有信息
- JQuery加载图像前显示()函数
- jQuery在上传前显示多个图片缩略图
- 页面加载前显示- SEO最佳实践
- 当复选框被选中时,如何在金额前显示美元符号?