Получить пользовательский атрибут из выбора - PullRequest
1 голос
/ 07 ноября 2019

Как я могу получить атрибут data-itemslimit из выбранной опции?

$(function() {
    $('#content_id').on('change', function(){
      alert($('#content_id').attr('data-itemslimit'));
    })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

<select id="content_id" class="form-control" data-reactid=".2.3.4.2.0.1.0.1.0">
  <option value="22" data-itemslimit="9" data-reactid=".2.3.4.2.0.1.0.1.0.$22">Content Test</option>
  <option value="23" data-itemslimit="6" data-reactid=".2.3.4.2.0.1.0.1.0.$23">Second Content</option>
</select>

Я получаю undefined ...

Ответы [ 4 ]

2 голосов
/ 07 ноября 2019

Вы можете использовать следующий код.

$('#content_id').on('change', function(e) {
        var data = $(this).children("option:selected").data('itemslimit');
        alert(data);
    });
1 голос
/ 07 ноября 2019

Вы должны использовать $('option:selected',this).attr('data-itemslimit'), потому что в ваших опциях есть data-itemslimit, а не сам выбор.

Демо

$(function() {
    $('#content_id').on('change', function(){
      alert($('option:selected',this).attr('data-itemslimit'));
    })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

<select id="content_id" class="form-control" data-reactid=".2.3.4.2.0.1.0.1.0">
  <option value="22" data-itemslimit="9" data-reactid=".2.3.4.2.0.1.0.1.0.$22">Content Test</option>
  <option value="23" data-itemslimit="6" data-reactid=".2.3.4.2.0.1.0.1.0.$23">Second Content</option>
</select>
1 голос
/ 07 ноября 2019

Использование option:selected

$(function() {
    $('#content_id').on('change', function(){
      alert($('option:selected', this).attr('data-itemslimit'));
    })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

<select id="content_id" class="form-control" data-reactid=".2.3.4.2.0.1.0.1.0">
  <option value="22" data-itemslimit="9" data-reactid=".2.3.4.2.0.1.0.1.0.$22">Content Test</option>
  <option value="23" data-itemslimit="6" data-reactid=".2.3.4.2.0.1.0.1.0.$23">Second Content</option>
</select>

Ссылка

https://api.jquery.com/jQuery/#selector-context

https://api.jquery.com/selected-selector/

0 голосов
/ 07 ноября 2019

Вариант использования: выбран для изменения:

js:

$(function() {
     $('select').on('change', function(){
      alert($('option:selected',this).attr('data-itemslimit'));
    })
});

html:

<select id="content_id" class="form-control" data-reactid=".2.3.4.2.0.1.0.1.0">
  <option value="22" data-itemslimit="9" data-reactid=".2.3.4.2.0.1.0.1.0.$22">Content Test</option>
  <option value="23" data-itemslimit="6" data-reactid=".2.3.4.2.0.1.0.1.0.$23">Second Content</option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...