select2. js получить цель события - PullRequest
2 голосов
/ 21 января 2020

У меня есть два <select> элемента, и для обеих инициализация одинакова.

Но их ids различны, и я хочу получить доступ к их атрибуту id внутри инициализации.

<select name="names[]" id="user_name" class="tags required_field" style="width: 150px;">
    <option>Rakesh Malakar</option>
    <option>John Wick</option>
</select>
<script type="text/javascript">
<select name="emails[]" id="user_email" class="tags required_field" style="width: 200px;">
    <option>malakar_rakesh@gmail.com</option>
    <option>johnwich@yahoo.com</option>
</select>

$(".tags").select2({
    tags: true,
    placeholder: event.target.id == 'user_name' ? 'Select Name' : 'Select Email', // something like this
    language: {
        noResults: function() {
            return 'Type and enter to add new';
        },
    },
    escapeMarkup: function(markup) {
        return markup;
    },
});
</script>

1 Ответ

2 голосов
/ 21 января 2020

примерно так должно работать:

$(".tags").each(function() {
  var placeholder = "Select Email";
  if ($(this).attr('id') === 'user_name') {
    placeholder = "Select Name";
  }
  $(this).select2({
    tags: true,
    placeholder: placeholder
    language: {
      noResults: function() {
        return 'Type and enter to add new';
      },
    },
    escapeMarkup: function(markup) {
      return markup;
    },
  });
});

...