我成功使用Jquery计算插件对小计和总计执行两次计算,就像演示页面上的最后一个示例一样:
http://www.pengoworks.com/workshop/jquery/calculation/calculation.plugin.htm
然而,我还想得到所选床位的总数,但似乎无法弄清楚如何添加它,任何想法?
function recalc(){
//$("[id^=total_item]").calc(
$("div[id^=subtotal_]").calc(
// the equation to use for the calculation
"qty * price",
// define the variables used in the equation, these can be a jQuery object
{
qty: $("select[id^=room_]"),
price: $("div[id^=price_]")
},
// define the formatting callback, the results of the calculation are passed to this function
function (s){
// return the number as a dollar amount
return "<%=session[:symbol]%>" + s.toFixed(2);
},
// define the finish callback, this runs after the calculation has been complete
function ($this){
// sum the total of the $("[id^=total_item]") selector
var count = $this.size(); <--- doesn't give me a correct count
var sum = $this.sum();
$("#totals").text(
// round the results to 2 digits
"You have selected " + count + " rooms for a total of <%=session[:symbol]%>" + sum.toFixed(2)
);
}
);
}
答案 0 :(得分:0)
没关系,这似乎有效:
$(document).ready(
function (){
$("select[id^=room_]").bind("change", recalc);
}
);
function recalc(){
//$("[id^=total_item]").calc(
var counter = $("select[id^=room_]").sum();
$("div[id^=subtotal_]").calc(
// the equation to use for the calculation
"qty * price",
// define the variables used in the equation, these can be a jQuery object
{
qty: $("select[id^=room_]"),
price: $("div[id^=price_]")
},
// define the formatting callback, the results of the calculation are passed to this function
function (s){
// return the number as a dollar amount
return "<%=session[:symbol]%> " + s.toFixed(2);
},
// define the finish callback, this runs after the calculation has been complete
function ($this){
// sum the total of the $("[id^=total_item]") selector
var count = $this.size();
var sum = $this.sum();
if (sum > 0) { $("#totals").fadeIn(); } else { $("#totals").fadeOut(); }
$("#totals").text(
// round the results to 2 digits
"You have selected " + counter + " beds for <%= user_cart.getDays %> nights totaling <%=session[:symbol]%> " + (sum * <%= user_cart.getDays.to_i %>).toFixed(2)
);
}
);
}