Чтобы получить выбранную опцию, вы можете использовать:
var roomno = e.options[e.selectedIndex];
Чтобы получить значение набора данных выбранной опции, вы можете использовать
roomno.dataset.dailyRate
// Or,
roomno.dataset['dailyRate']
Кроме того, вы можете получить доступ к другим атрибутам данных, таким как:
roomno.dataset.dailyRate
roomno.dataset.weeklyRate
roomno.dataset.monthlyRate
Кроме того, вам не нужно использовать jQuery только для этого: $("#roomno").on("change", function()
. Вы можете прикрепить change
список событий, например:
document.getElementById("roomno").addEventListener("change", calculateRate);
DEMO HERE:
document.addEventListener("DOMContentLoaded", () => {
document.getElementById("roomno").addEventListener("change", calculateRate);
});
function calculateRate() {
let e = document.getElementById("roomno");
var roomno = e.options[e.selectedIndex];
let daily_rate = roomno.dataset.dailyRate;
console.log(daily_rate);
}
<select id="roomno" name="roomno">
<option value="0" >-- Select --</option>
<option value="1" data-daily-rate="50" data-weekly-rate="300" data-monthly-rate="1200">1 - Single room</option>
<option value="2" data-daily-rate="100" data-weekly-rate="600" data-monthly-rate="2500">2 - Double Bedroom</option>
<option value="3" data-daily-rate="150" data-weekly-rate="850" data-monthly-rate="4000">3 - Deluxe</option>
</select>