JQuery цикл через флажки, которые атрибут имени содержит скобку - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть эти флажки:

<input type="checkbox" class="ids" name="ids[]" value="2">
<input type="checkbox" class="ids" name="ids[]" value="3">
<input type="checkbox" class="ids" name="ids[]" value="4">
<input type="checkbox" class="ids" name="ids[]" value="5">
<input type="checkbox" class="ids" name="ids[]" value="6">

У меня вопрос через jquery, как бы я перебрал идентификаторы [] при отправке формы?

$("#form").submit(function(e) {
  //Loop throught ids[] 
});

Я пробовал это:

$('input[type=checkbox][name=ids[]]').each(function () {   
  console.log("Here");
});

Но это не сработало

1 Ответ

0 голосов
/ 10 ноября 2018

Ваш селектор недействителен. Вы должны бежать [] с \\.

Чтобы использовать любой из метасимволов (например, !"#$%&'()*+,./:;<=>?@[\]^`{|}~) в качестве литеральной части имени, его необходимо экранировать двумя обратными слешами: \\. Документация

$('input[type=checkbox][name=ids\\[\\]]').each(function(){
  console.log(this.value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="ids" name="ids[]" value="2">
<input type="checkbox" class="ids" name="ids[]" value="3">
<input type="checkbox" class="ids" name="ids[]" value="4">
<input type="checkbox" class="ids" name="ids[]" value="5">
<input type="checkbox" class="ids" name="ids[]" value="6">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...