Я нашел эту топи c, которая так близка к моему случаю: как сумма данных атрибута общая цена?
Где:
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>
Тезисный код работает именно так, как я хочу, однако, в моем случае параметры выбора являются фактически oop выборами:
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
, но это не сработало.
С уважением,