Получить атрибут из опции выбора, отличной от значения - PullRequest
0 голосов
/ 24 сентября 2018

После вызова ajax я заполняю опцию выбора таким образом, добавляя атрибут значения и еще один с именем jobDescription:

$.each(obj, function(key, value) {   
                 $('#mySelect').append($("<option></option>").attr({"value": value.id, "jobDescription": value.jobDescription}).text(value.name)); 
            });

, когда я выбираю одну из опций, мне нужно получить jobDescription значение.Для этого я попытался таким образом

$("#mySelect").on('change', function() {
   console.log($(this).attr("jobDescription"));
});

, но он возвращает undefined.Есть ли другой способ сделать это?

1 Ответ

0 голосов
/ 24 сентября 2018

Исходя из вашего исходного кода, вам нужно сначала добавить find(':selected'). сначала перед .attr, чтобы найти текущий выбранный <option> в #mySelect.

$(function() {
  $("#mySelect").on('change', function() {
    console.log($(this).find(':selected').attr("jobDescription"));
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="mySelect">
  <option value="someValue" jobDescription="jobDesc1">Lorem Ipsum 1</option>
  <option value="someValue" jobDescription="jobDesc2">Lorem Ipsum 2</option>
  <option value="someValue" jobDescription="jobDesc3">Lorem Ipsum 3</option>
</select>
...