У меня есть эти флажки:
<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" и последовательно... Как мне это получить?
Создайте функцию, которая проверяет идентификатор. Функция проверяет наличие родителя. Если родитель найден, он снова вызовет ту же функцию с этим id.
Однако это может легко стать бесконечным циклом. И ваш браузер не будет отвечать.
Вы можете попробовать сопоставить свой атрибут как
// 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/ вот скрипка для этого! :)
parent
элемент - просто переменная, если вы имеете в виду метод (parent()
), то вы будете использовать его, если у вас несколько форм, иначе нет!