получение значений флажков check-JavaScript

0

У меня есть флажки внутри формы (id = 'submit_slides_1'):

После отправки формы я хочу получить все значения отмеченных флажков:

<input type='checkbox' class='chk_selection_info_box' name='thumb_selection[]' value='" + images[i]['url'] + "'>

и в моем javascript у меня есть следующий код:

$("#submit_slides_1").submit(function(e) {
    e.preventDefault();
    var x=$("#thumb_selection").is(":checked");
    alert(x);
  }
);

Но он продолжает давать мне ложь; Я что-то упускаю?

ADDED: Пробовал, но он также говорит: "undefined":

$(".chk_selection_info_box:checked").each(function(i,l)
{
    alert(l.value);
});

Если вам нужно больше разъяснений, сообщите мне, какая часть вам нужна для уточнения!

благодаря

  • 0
    покажи нам свой полный HTML
  • 1
    Вы говорите, что form имеет name 'submit_slides_1' , но вы выбираете form с id "#submit_slides_1" . Это очевидно, но не обязательно правильно; пожалуйста: покажите свой HTML, не описывайте его у нас.
Показать ещё 5 комментариев
Теги:

3 ответа

3
Лучший ответ

Нет элемента с этим id. Это будет то, чего вам не хватает. Добавьте идентификатор.

НО ваш код предполагает, что у вас есть несколько флажков, если это так, установка идентификатора не будет работать, и использование класса не будет работать, поскольку() будет работать только с первого элемента.

var checkedElements = $(".chk_selection_info_box:checked");

Вам, чем нужно использовать .serialize(), .map() или .each() чтобы получить все значения.

  • 2
    Использование идентификатора не будет работать, если она хочет проверить статус из нескольких флажков.
  • 0
    это правда: несколько флажков: даже следующий код не работает: $ (". chk_selection_info_box: флажок"). each (function () {alert ($ this.val ());}); говорит это неопределенное? Почему?
Показать ещё 2 комментария
1

Если все они имеют класс .chk_selection_info_box, выберите эти элементы с помощью :checked selector и .map() значения в коллекции и преобразуйте его в .toArray().

var values = $(".chk_selection_info_box:checked").map(function(i, el) {
    return el.value
}).toArray();
  • 0
    Вы решили мою проблему; но почему мой код не работает! У меня не было никакой информации о картах!
  • 0
    @Pasargad: метод is() возвращает boolean значение, которое сообщает вам, соответствует ли элемент селектору. .map() просто берет коллекцию и создает новую коллекцию с возвращаемыми значениями функции обратного вызова. Таким образом, мы выбрали все флажки и вернули значение .value каждого блока в новый массив.
Показать ещё 3 комментария
-2

Попробуйте этот помощник

var x = $(".chk_selection_info_box").prop('checked');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню