У меня есть 5 отдельных меню выбора с 5 кнопками. Когда опция выбрана, отображаемая цена и URL кнопки изменяются соответственно.
В настоящее время я использую идентификаторы. Я подозреваю, что если бы я использовал классы вместо этого, скрипт мог бы циклически просматривать, какое меню выбора было изменено, и изменить указанную отображаемую цену и URL кнопки. Но я не знаю, как это сделать. Как этот код может быть упрощен? Спасибо.
$(document).ready(function() {
$("select.license_1").change(function() {
var selection = $(this).children("option:selected").val();
var theid = $(this).children(":selected").attr("id");
$("#theurl_1").attr("href", "https://example.com/cart?cart!" + selection);
$("#amount_1").text(theid);
});
$("select.license_2").change(function() {
var selection = $(this).children("option:selected").val();
var theid = $(this).children(":selected").attr("id");
$("#theurl_2").attr("href", "https://example.com/cart?cart!" + selection);
$("#amount_2").text(theid);
});
$("select.license_3").change(function() {
var selection = $(this).children("option:selected").val();
var theid = $(this).children(":selected").attr("id");
$("#theurl_3").attr("href", "https://example.com/cart?cart!" + selection);
$("#amount_3").text(theid);
});
$("select.license_4").change(function() {
var selection = $(this).children("option:selected").val();
var theid = $(this).children(":selected").attr("id");
$("#theurl_4").attr("href", "https://example.com/cart?cart!" + selection);
$("#amount_4").text(theid);
});
$("select.license_5").change(function() {
var selection = $(this).children("option:selected").val();
var theid = $(this).children(":selected").attr("id");
$("#theurl_5").attr("href", "https://example.com/cart?cart!" + selection);
$("#amount_5").text(theid);
});
});
<div>
<div class="largearialnorm" style="padding-bottom:5px;">Blue Widget</div>
<span class="largearial" id="amount_1">$39</span>
<select class="tftextinput4 license_1">
<option value="family1=596" selected="selected" id="$39">1 License</option>
<option value="package1=1600" id="$51.92">2 Licenses</option>
<option value="package1=1601" id="$69.83">5 Licenses</option>
<option value="package1=1602" id="$119.70">10 Licenses</option>
<option value="package1=1603" id="$249.38">25 Licenses</option>
</select>
<a class="downloadbtn" id="theurl_1" href="https://example.com/cart?&family1=596">Order</a>
</div>
<br>
<div>
<div class="largearialnorm" style="padding-bottom:5px;">Red Widget</div>
<span class="largearial" id="amount_2">$29</span>
<select class="tftextinput4 license_2">
<option value="family1=356" selected="selected" id="$29">1 License</option>
<option value="package1=11465" id="$51.92">2 Licenses</option>
<option value="package1=341" id="$69.83">5 Licenses</option>
<option value="package1=732" id="$119.70">10 Licenses</option>
<option value="package1=9801" id="$249.38">25 Licenses</option>
</select>
<a class="orderbtn" id="theurl_2" href="https://example.com/cart?&family1=356">Order</a>
</div>
<br>
<div>
<div class="largearialnorm" style="padding-bottom:5px;">Green Widget</div>
<span class="largearial" id="amount_3">$89</span>
<select class="tftextinput4 license_3">
<option value="family1=7893" selected="selected" id="$89">1 License</option>
<option value="package1=100" id="$105.92">2 Licenses</option>
<option value="package1=102" id="$167.83">5 Licenses</option>
<option value="package1=103" id="$220.70">10 Licenses</option>
<option value="package1=104" id="$305.38">25 Licenses</option>
</select>
<a class="orderbtn" id="theurl_3" href="https://example.com/cart?&family1=7893">Order</a>
</div>
<br>
<div>
<div class="largearialnorm" style="padding-bottom:5px;">Orange Widget</div>
<span class="largearial" id="amount_4">$19</span>
<select class="tftextinput4 license_4">
<option value="family1=596" selected="selected" id="$19">1 License</option>
<option value="package1=1600" id="$31.92">2 Licenses</option>
<option value="package1=1601" id="$59.83">5 Licenses</option>
<option value="package1=1602" id="$119.70">10 Licenses</option>
<option value="package1=1603" id="$249.38">25 Licenses</option>
</select>
<a class="orderbtn" id="theurl_4" href="https://example.com/cart?&family1=596">Order</a>
</div>
<br>
<div>
<div class="largearialnorm" style="padding-bottom:5px;">Blue Widget</div>
<span class="largearial" id="amount_5">$29</span>
<select class="tftextinput4 license_5">
<option value="family1=6732" selected="selected" id="$29">1 License</option>
<option value="package1=9562" id="$33.92">2 Licenses</option>
<option value="package1=542" id="$49.43">5 Licenses</option>
<option value="package1=8746" id="$209.70">10 Licenses</option>
<option value="package1=1473" id="$219.29">25 Licenses</option>
</select>
<a class="orderbtn" id="theurl_5" href="https://example.com/cart?&family1=6732">Order</a>
</div>