Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Получить значение атрибута для select (https://javascript.ru/forum/dom-window/81431-poluchit-znachenie-atributa-dlya-select.html)

nikoshot 25.11.2020 13:14

Получить значение атрибута для select
 
Нужна помощь..
Есть код
plusFont1=Number(jsl('[name="fonts"]:checked').attr('data-price'));

Получает атрибут выбранного INPUTA

Сейчас переделали верстку и сделали не input, а через options select
Как эту строку переделать и получить значение выбранного атрибута...

html сейчас такой
<select id="what_fonts" class="what_fonts" name="fonts">
<option selected="selected" value="Arial" data-price='0'>Arial</option>
<option value="Tahoma" data-price='0'>Tahoma</option>
<option value="Calibri" data-price='0'>Calibri</option>
<option value="Times New Roman" data-price='10'>Timesoman</option>
</select>


а был такой
<label>
<input type="radio" name="fonts" value="Arial" data-price='0' checked="">
</label>
<label>
<input type="radio" name="fonts" value="Tahoma" data-price='0'>
</label>
<label>
<input type="radio" name="fonts" value="Calibri" data-price='0'>
</label>

laimas 25.11.2020 13:43

var s = document.getElementById('what_fonts'),
plusFont1 = s.optinos[s.selectedIndex].dataset.price;

nikoshot 25.11.2020 14:51

Цитата:

Сообщение от laimas (Сообщение 531122)
var s = document.getElementById('what_fonts'),
plusFont1 = s.optinos[s.selectedIndex].dataset.price;

Не сработало но благодаря твоему коду смог разобраться и сделать что бы работало..
Вот рабочий код
plusFont1 = s.options[s.selectedIndex].getAttribute('data-price');

Спасибо тебе!
Хорошего дня)

laimas 25.11.2020 15:05

Цитата:

Сообщение от nikoshot
Не сработало

Ошибку я допустил, s.optinos ..., должно быть:

s.options[s.selectedIndex].dataset.price;


Часовой пояс GMT +3, время: 11:01.