как взорвать объект через JQuery - PullRequest
0 голосов
/ 10 мая 2018

У меня есть следующий код, и я хочу, чтобы он взорвался. Как я могу взорвать код в Jquery? Я хочу взорвать $write, потому что я хочу передать id через JavaScript. Это объект, и я только получаю id через все, что он дал.

var $write = $(':input').on('click', function(){
        var id = this.id;
        shift = false,
        capslock = false;
        var str = new Array();
        temp = str.split(" : ");
        console.log(temp); 

На самом деле я получил в консоли этот код:

Array [ button,
    input#country.form-control,
    input#itemNo_1.form-control.autocomplete_txt.pdc.divide.ui-autocomplete-input,
    input#itemNo_2.form-control.autocomplete_txt.pdc.divide,
    input#itemNo_3.form-control.autocomplete_txt.pdc.divide,
    button.btn.btn-search,
    input,
    input,
    input,
    input, … ]

и я хочу только id от него.

1 Ответ

0 голосов
/ 10 мая 2018

Чтобы получить идентификаторы всех элементов в $write, вы можете использовать .map():

var ids = $write.map((i, el) => el.id).get();

.get() в конце необходим, потому что метод jQuery .map() возвращает коллекцию jQuery, а .get() преобразует это в массив.

var ids = $(":input").map((i, el) => el.id).get();
$("#output").text(JSON.stringify(ids));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input1">
<select id="select2">
  <option></option>
  <option val="1">Selection1</option>
  <option val="2">Selection2</option>
</select>
<input id="anotherInput">
<div>
  List of input IDs:
  <div id="output"></div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...