javascript - 如何从循环选择选项中汇总数据属性总价?
问题描述
我发现这个话题与我的情况非常接近: sum data 如何属性总价格?
在哪里:
function validate(){
var $selected = $('#mark, #series').children(":selected");
var sum = 0;
$selected.each(function() {
sum += $(this).data('price') || 0;
});
$('#total').html(sum === 0 ? '' : sum + '$');
}
validate();
$('#mark, #series').on('change', function() {
validate();
});
和:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mark" name="mark">
<option value="">--</option>
<option value="bmw" data-price="200">bmw</option>
<option value="audi" data-price="400">audi</option>
</select>
<select id="series" name="series">
<option value="">--</option>
<option value="series-1" data-price="2000" >3 series</option>
<option value="series-1" data-price="3000" >5 series</option>
</select>
<div id="total"></div>
这些代码完全按照我想要的方式工作,但是,在我的情况下,选择选项实际上是一个选择循环:
for ($i = 1; $i <= $DayCountValue; $i++)
echo "<div class='col'><select name='tour" . $i . "[]' id='tour" . $i . "' class='form-control' onChange='tour_price" . $i . "(this.value), tour_name" . $i . "(this.value), tour_description" . $i . "(this.value);'>";
echo "<option value=''>Select</option>";
mysqli_fetch_assoc($tour_check);
foreach ($tour_check as $tour) {
echo "<option value='" . $tour["price_id"] . "' data-picture='" . $tour["thumbnail"] . "' data-price='" . $tour["price"] . "'>" . $tour["name"] . "</option>";
}
echo "</select></div>";
如何让 javascript 代码从每个选定的选项中获取值?我尝试使用this
但没有用。
亲切的问候,
解决方案
我解决了它,将Javascript代码更改为:
function validate(){
var $selected = $("select").children(":selected");
var sum = 0;
$selected.each(function() {
sum += $(this).data('price') || 0;
});
$('#total').html(sum === 0 ? '' : sum + '$');
}
validate();
$("select").on('change', function() {
validate();
});
我可以从<select>
文档中的每个值中获取值。
推荐阅读
- c# - 使用 Jwt Bearer Claims/Roles 进行身份验证和授权
- r - 我如何制作带有一些指标的列?
- mysql - MySQL选择结果行号
- java - Maven pom.xml 参数将根据值安装不同的依赖项
- javascript - 轮询 api 直到响应成功
- c# - 使用多列分组,然后使用方法语法对特定列求和
- c# - 如何在没有类对象的情况下使用 json 序列化 int 值?
- javascript - 对自定义内置元素的测试支持
- excel - 我可以将 VBA 模块作为参数传递给子/函数吗?
- azure-devops - 如何在 Azure devops 2019 CI/CD 管道上使用测试计划(它是手动测试)