我能用以下JQuery做的是它返回所有复选框和选择框的总值。
这是我的Jquery脚本:(使用点击事件)
<script type="text/javascript">
$(document).ready(function() {
$("input").click(function(event) {
var total = 0;
$("input:checked").each(function() {
total += parseInt($(this).val(),10);
});
var total_text = parseInt($("#min").text(),10);
total = total + total_text;
if (total === 0) {
$('#Totalcost').val('$0');
}
else {
$('#Totalcost').val('$' + total);
}
});
});
</script>
以下JQuery能够做的是返回在输入类型文本文件中输入的总值:
以下是代码:(使用KEYPRESS EVENT)
<script type="text/javascript">
$(document).ready(function() {
$("input").keypress(function(event) {
var total = 0;
$("input:checked").each(function() {
total += parseInt($(this).val(),10);
});
var total_text = 0;
/*var total_text = parseInt($("#min").val(),10);
total = total + total_text;*/
if (total === 0) {
$('#Totalcost').val('$0');
}
else {
$('#Totalcost').val('$' + total);
}
});
});
我尝试添加
var total_text = parseInt($("#min").val(),10);
total = total + total_text;
在最顶层的jquery中,但我遇到的问题是
如何达到理想的效果请帮忙。 在此先感谢: - )
答案 0 :(得分:1)
对您的功能进行了一些更改,认为这使事情变得更容易:
$("input").live("change keyup", function() {
$("#Totalcost").val(function() {
var radioVal = parseInt($(this).siblings(":radio:checked").val());
var textVal = parseInt($("#min").val()) || 0;
return radioVal + textVal;
});
});
演示:http://jsfiddle.net/EzYeH/32/
修改:已更新以使用keyup and change
,因为正在使用jQ 1.7,因此使用了.live()
。
对于jQ 1.7 +
$("input").on("change keyup", function() {
$("#Totalcost").val(function() {
var radioVal = parseInt($(this).siblings(":radio:checked").val());
var textVal = parseInt($("#min").val()) || 0;
return radioVal + textVal;
});
});