试图在价格计算器上显示所选服务
我有一个简单的价格计算器的工作示例,它从数据库中提取价格(通过Laravel 4和Blade模板引擎),客户可以选择服务,价格计算器将输出价格。
它工作得很好,但我希望它能在价格之下显示所选服务。 我有一个例子,但不完全是我想要的。 http://jsfiddle.net/arunpjohny/xf9Fp/2/
var $selections = $('#selections'); var $selects = $("select").change(function () { var total = 0; $selections.empty(); $selects.each(function () { var $selected = $(this).find("option:selected"); var price = parseFloat($selected.data("price")) || 0; total += price; if($selected.val() !== ''){ $('', { text: $selected.text() + ':' + $selected.val() }).appendTo($selections) } }) $("strong").text('$ ' + total); })
我希望它如何工作是:
价格:$ X(< – 这部分工作正常)
如果他们选择2个房间和1个房间除臭剂,没有别的。 我想要它展示
你的订单:
房间:2
除臭剂:1
这就是为什么他们可以分解他们刚刚选择的服务。 当然,如果取消选择让我们说除臭剂,我希望所有这些都能清除,除了房间(或任何剩下的)
你可以这样做:
$('', { text: $(this).parent().clone().children().remove().end().text()+" "+$selected.text() + ':' + $selected.val() }).appendTo($selections)
工作小提琴
尝试
var $selections = $('#selections'); var $selects = $("select").change(function () { var total = 0; $selections.empty(); $selects.each(function () { var $selected = $(this).find("option:selected"); var price = parseFloat($selected.data("price")) || 0; total += price; if($selected.val() !== ''){ $('', { text: $selected.text() + ':' + $selected.val() }).appendTo($selections) } }) $("strong").text('$ ' + total); })
演示: 小提琴
通过在你的选择框中添加id
来简化这一点,这就是小提琴