Я пытаюсь получить значения data
из options
в форме ниже, поэтому я могу использовать их в jQuery, но я как-то не кажется успешным. То, что я пытаюсь сделать, просто, и вы увидите в моем коде ниже. Как я могу сделать что-то подобное?Получить атрибуты данных jquery из значений опции выбора формы
$('#selectForm').click(function(e) {
e.preventDefault();
var action = $(this).data('id');
var type = $(this).data('name');
console.log(action+' '+type);
});
// Jquery
<form id="selecttest">
<label for="fruit">Please select at least two fruits</label><br>
<select id="fruit" name="fruit" size="5">
<option data-id="1" data-name="norman">Banana</option>
<option data-id="2" data-name="james">Apple</option>
<option data-id="3" data-name="lars">Peach</option>
<option data-id="4" data-name="john">Turtle</option>
</select>
<input type="submit" id="selectForm" value="Validate Selecttests">
</form>
Измените 'attr' на' .data ("id") ' – tymeJV
@tymeJV почему это? – Elen
Чтобы извлечь пользовательские атрибуты данных, вы должны использовать '.data'. Per jQuery API. Метод .data() позволяет нам привязывать данные любого типа к элементам DOM таким образом, чтобы они были безопасны от циклических ссылок и, следовательно, от утечек памяти. – tymeJV