简单jQuery价格更新问题下拉列表vs单选按钮
因此,我想出了如何通过jQuery更新价格,使用单选按钮: 以下是链接: 现在我遇到的问题是对下拉列表应用完全相同的函数,因此选项值。当在下拉列表中选择维度时,我希望价格发生变化 我在这里添加了代码:简单jQuery价格更新问题下拉列表vs单选按钮,jquery,Jquery,因此,我想出了如何通过jQuery更新价格,使用单选按钮: 以下是链接: 现在我遇到的问题是对下拉列表应用完全相同的函数,因此选项值。当在下拉列表中选择维度时,我希望价格发生变化 我在这里添加了代码: $("option:selected").each(function() { var value = $(this).attr("value"); total += parseInt(value); }); 试图让它工作,但没有运气。有什么想法吗 谢谢 我不知道ultracart是什么。
$("option:selected").each(function() {
var value = $(this).attr("value");
total += parseInt(value);
});
试图让它工作,但没有运气。有什么想法吗
谢谢 我不知道ultracart是什么。 不管ultracart如何,以下是我将如何实现您的目的。
看看是否可以将其合并到主代码中,并希望它能满足您的需要 我解决了这个问题。可在此处找到一个工作示例:
我看过你的代码,风格不是很好,如果我需要给你一个解决方案,我需要重写一切。因此,我只提出一些建议。1.calcTotal函数可以计算所有内容的总量,然后有一个返回值。2.您的选项没有与成本对应的值。3.最好为成本值设置一个id,然后在每次触发事件时使用该id更新成本值。4如果您使用div或其他html标记来安排您的html布局,应该会更好。谢谢您的建议。但是是的,在它完全发挥功能之前,设计它的样式是没有意义的。输出只需要是一个临时输出。因为其他所有东西的实际价格都是在ultracart的后端计算出来的。但是在您看到的示例中,选项没有值,因为选项的jquery不起作用。Ultracart使用表格作为基本HTML,但稍后当事情完全正常时,会添加分区用于样式设置。顺便说一句,最好以一种好的样式呈现代码,因为它们易于阅读,如果你想找一个更简单的例子来说明你所发布的内容,你可以在这里找到:我可以整天查看这些代码,但由于某些原因,我不知道如何在选项:selected上添加更改功能。它单独工作,但当我添加输入:checked时,它不起作用
function total(){
var total = 0;
var opt3 = parseInt($("select[name='OptionValue3'] option:selected").val());
var opt4 = parseInt($("select[name='OptionValue4'] option:selected").val());
total = opt3 + opt4;
return total;
}
$(document).ready(function(){
var num = total();
$("#total").append(num);
$("select").on('change', function(){
num=total();
$("#total").html(num);
});
});
$(document).ready(function(){
//iterate through each textboxes and add keyup
//handler to trigger sum event
$(".add").each(function() {
$(this).bind("click keyup", function(){
calculateSum();
});
});
});
function calculateSum() {
var sum = 0;
//iterate through each textboxes and add the values
$("input.add:checked, select .add:selected, input.add:not(:radio)").each(function() {
console.log(this);
//add only if the value is number
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseInt(this.value);
}
});
//.toFixed() method will roundoff the final sum to 2 decimal places
$("#sum").html(sum.toFixed(0));
}