![](/img/trans.png)
[英]How to get value of data-id and place it into a twitter bootstrap modal?
[英]How get data-id in Bootstrap SelectPicker?
我是JS的初學者。 我有Bootstrap selectpicker。 我有以下代碼:
<select class="form-control selectpicker select_subcription" name="subscription">
<optgroup label="Przedłuż wybrane profile o:">
<option class="selectValueFromPriceList" value="1" data-id="1.00">Przedłużam wybrane profile o 7 dni za 1.00 zł / konto</option>
<option class="selectValueFromPriceList" value="3" data-id="2.00">Przedłużam wybrane profile o 30 dni za 2.00 zł / konto</option>
<option class="selectValueFromPriceList" value="5" data-id="4.00">Przedłużam wybrane profile o 90 dni za 4.00 zł / konto</option>
</optgroup>
<optgroup label="Promuj wybrane ogłoszenia:">
<option class="selectValueFromPriceList" value="6" data-id="11.00">Wypromuj na liście ogłoszeń przez 7 dni za 11.00 zł / konto</option>
<option class="selectValueFromPriceList" value="8" data-id="22.00">Wypromuj na liście ogłoszeń przez 30 dni za 22.00 zł / konto</option>
<option class="selectValueFromPriceList" value="9" data-id="33.00">Wypromuj na liście ogłoszeń przez 60 dni za 33.00 zł / konto</option>
<option class="selectValueFromPriceList" value="10" data-id="44.00">Wypromuj na liście ogłoszeń przez 90 dni za 44.00 zł / konto</option>
</optgroup>
</select>
$('.select_subcription').selectpicker({
noneSelectedText: 'Wybierz płatności z listy'
});
$('.select_subcription').on('changed.bs.select', function(e) {
//alert(e.target.value);
var summary = 0;
var countCheckedCheckboxes = $checkboxes.filter(':checked').length;
var price = e.target.value; // here i need data-id
alert(price);
summary = countCheckedCheckboxes * price;
$('#count-checked-checkboxes').text(summary);
});
我需要:
var price = e.target.value;
未選擇數據ID選項-非值。
我該如何更改? 我要變化
var price = e.target.value;
對於
var price = e.target.data-id
可是我不知道
您可以使用以下內容
var price = $(".select_subcription option:selected").attr('data-id');
首先, e.target
將與select
而不是所option
,因此即使調用獲取數據成功,它也不會返回任何內容。 您需要首先獲取選定的選項。
從那里,您可以使用jQuery的data()
方法獲取值或本機dataset
屬性,如下所示:
$('.select_subcription').on('changed.bs.select', function(e) {
var summary = 0;
var countCheckedCheckboxes = $checkboxes.filter(':checked').length;
var price = $(this).find('option:selected').data('id');
console.log(price);
summary = countCheckedCheckboxes * price;
$('#count-checked-checkboxes').text(summary);
});
$( ".select_subcription" ).change(function(e) { //other code snippet console.log(e.target.value); console.log($(".select_subcription option:selected").attr('data-id')); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select class="form-control selectpicker select_subcription" name="subscription"> <optgroup label="Przedłuż wybrane profile o:"> <option class="selectValueFromPriceList" value="1" data-id="1.00">Przedłużam wybrane profile o 7 dni za 1.00 zł / konto </option> <option class="selectValueFromPriceList" value="3" data-id="2.00">Przedłużam wybrane profile o 30 dni za 2.00 zł / konto </option> <option class="selectValueFromPriceList" value="5" data-id="4.00">Przedłużam wybrane profile o 90 dni za 4.00 zł / konto </option> </optgroup> <optgroup label="Promuj wybrane ogłoszenia:"> <option class="selectValueFromPriceList" value="6" data-id="11.00">Wypromuj na liście ogłoszeń przez 7 dni za 11.00 zł / konto </option> <option class="selectValueFromPriceList" value="8" data-id="22.00">Wypromuj na liście ogłoszeń przez 30 dni za 22.00 zł / konto </option> <option class="selectValueFromPriceList" value="9" data-id="33.00">Wypromuj na liście ogłoszeń przez 60 dni za 33.00 zł / konto </option> <option class="selectValueFromPriceList" value="10" data-id="44.00">Wypromuj na liście ogłoszeń przez 90 dni za 44.00 zł / konto </option> </optgroup> </select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.