JQuery рекурсивно проверено

0

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

<input type="checkbox" id-mod="1" name="read[]" />
<input type="checkbox" id-mod="4" parent="1" name="read[]" />
<input type="checkbox" id-mod="10" parent="4" name="read[]" />
<input type="checkbox" id-mod="60" parent="10" name="read[]" />

при проверке записи, содержащей атрибут "родительский", должен автоматически проверяться ввод, содержащий атрибут "id-mod" того же значения.

Используйте следующую функцию:

$("input:checkbox[parent]").change(function() {
    if ($(this).is(':checked')) {
        var parent = $(this).attr('parent');
        $("input:checkbox[id-mod='"+parent+"']").prop("checked", true);
    }
});

Например, при проверке ввода с атрибутом parent = "10" он также проверил вход с атрибутом id-mod = "10", но мне это нужно, в свою очередь, получить одно и то же событие с атрибутом parent = "4" и последовательно... Как мне это получить?

Теги:
recursion
checkbox

2 ответа

0

Создайте функцию, которая проверяет идентификатор. Функция проверяет наличие родителя. Если родитель найден, он снова вызовет ту же функцию с этим id.

Однако это может легко стать бесконечным циклом. И ваш браузер не будет отвечать.

0

Вы можете попробовать сопоставить свой атрибут как

// run the selector and then..
var parent = $(this).attr('parent');//get parent value
$(this).parent().find('input[id-mod=' + parent + ']').prop('checked', true);

Затем найдите вход от родительского элемента (или если у вас есть класс или идентификатор для формы, вы можете использовать это тоже) и после обнаружения обновления его свойства для проверки.

http://jsfiddle.net/afzaal_ahmad_zeeshan/YFXKL/ вот скрипка для этого! :)

  • 0
    извини не нашел. Вам нужна функция parent ()? Кроме того, мне нужно, чтобы она активировалась только тогда, когда флажок установлен.
  • 0
    Нет, тебе не нужен родитель. Вы можете изменить использование и код, parent элемент - просто переменная, если вы имеете в виду метод ( parent() ), то вы будете использовать его, если у вас несколько форм, иначе нет!
Показать ещё 3 комментария

Ещё вопросы

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