Arhn - архитектура программирования

jQuery, если флажок установлен, снимите другой флажок

У меня есть HTML-код:

 <input type="checkbox" name="all" value="all">ALL
 <input type="checkbox" name="agent" value="agent" >Agent
 <input type="checkbox" name="company" value="company">Company
 <input type="checkbox" name="branch" value="branch">Branch

Если я отмечаю все, другой флажок отключается, если я снимаю флажок, другой флажок снова активируется.

Я попытался сделать это, используя скрипт ниже.

$("input[name='all']").change(function() {
    if(this.checked) {
        $("input[name='agent']").prop("disabled",true);
    }
});
21.12.2015

Ответы:


1

Ваш код будет выполнять только часть отключения. Вы должны использовать значение checked как отключенное свойство для переключения состояния на основе состояния проверки/снятия отметки:

 var subinputs = $("input[name=agent],input[name=company],input[name=branch]");
$("input[name='all']").change(function() {
   subinputs.prop("disabled",this.checked);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="all" value="all">ALL
        <input type="checkbox" name="agent" value="agent" >Agent
        <input type="checkbox" name="company" value="company">Company
        <input type="checkbox" name="branch" value="branch">Branch

21.12.2015

2

Пожалуйста, проверьте код ниже, есть много других способов, но для вашего HTML это способ сделать это

$("input[name='all']").change(function() {
    if(this.checked) {
      $(this).siblings('input:checkbox').prop("disabled",true);
    }
  else {
    $("input[type='checkbox']").removeAttr("disabled");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="all" value="all">ALL
        <input type="checkbox" name="agent" value="agent" >Agent
        <input type="checkbox" name="company" value="company">Company
        <input type="checkbox" name="branch" value="branch">Branch

21.12.2015
  • @MilindAnantwar проверьте, что я написал ниже, чтобы также включить это, и попробуйте демо, вы увидите, что оно работает нормально. 21.12.2015
  • $(input[name='all']).removeAttr(отключено); это строка для удаления отключенного атрибута из всех -- 21.12.2015
  • @krishnaveni на самом деле это общее решение, сколько флажков вы хотите добавить, добавьте, что вам не нужно вносить какие-либо изменения в Jquery, он будет нормально работать для n флажков. 22.12.2015

  • 3

    Добавить недостающее еще:

        $("input[name='all']").change(function() {
    if(this.checked) {
                $("input[name='all'] input").prop("disabled",true);
    }
    else{
            $("input[name='all'] input").prop("disabled",false);
    }});
    
    21.12.2015

    4

    Привяжите обработчик изменений, затем просто снимите все флажки, кроме отмеченного:

    $('input').on('change', function() {
    $('input').not(this).prop('checked', false);   });
    
    21.12.2015
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..