我正在尝试构建一个基于一系列带有字符串值的下拉框来计算总价格的表单,例如“此选项需要30英镑”我知道这不是理想的但是我把这个放在一起作为一个黑客现有脚本
在大多数情况下我已经开始工作但是我不知道如何为#productconfig的每个孩子运行每个函数
我可以手动将每个下拉列表输入到一个数组中并进行计算,但如果它只适用于#productconfig的所有子项
那么它会很好<code>
<div id="#productconfig">
<label>Model Type</label>
<select name="products[220][data][modeltype]" id="data-modeltype-220">
<option value="M-Type £500">M-Type £500</option>
<option value="P-Type £500">P-Type £500</option>
<option value="S-Type £500">S-Type £500</option>
</select>
</div>
</code>
<code>
$(document).ready(function() {
$("#productconfig").children().change(function () {
calculateoptions();
});
calculateoptions();
});
</code>
<code>
function calculateoptions() {
var arr = ["data-modeltype-220"];
var total = 0;
jQuery.each(arr, function () {
var str = $('#' + this).attr("value");
var poundsign = str.indexOf('£');
var poundsign = poundsign + 1;
var lengthofstr = str.length;
var shortstr = str.substr(poundsign, lengthofstr);
total = eval(total) + eval(shortstr);
});
$('#price').html("£" + total);
}
</code>
答案 0 :(得分:2)
这个怎么样:
function calculateoptions() {
var total = 0;
jQuery('#productconfig select').each(function () {
total += $(this).val().match(/£(\d+)/)[1];
});
$('#price').html("£" + total);
}
答案 1 :(得分:0)
您可以使用:
$("#productconfig select").each(function(){...});
选择产品配置div中的每个下拉列表。