Nano Hash - криптовалюты, майнинг, программирование

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

Предположим, что у меня есть редактируемая форма, в которой есть несколько наборов флажков. В режиме редактирования я должен иметь возможность контролировать состояние других флажков через основной флажок. Когда он находится в выбранном состоянии, я могу установить другие флажки, когда он выключен, тогда все они должны быть сняты и отключены.

Вот моя html-форма:

<body ng-app="app">
  <h4>x-editable checkbox test</h4>
  <div ng-controller="Ctrl">
    <form editable-form name="editableForm3" onaftersave="">

    <div> <span e-title="Maincb" editable-checkbox="useAll" e-name="maincb">
                                  <b>Maincb</b>: {{useAll ? "&#x2714;" :  "&#x2718;" }}
         </span>
    </div>

  <div>
   <span class="title"><h4><b>Supplementary</b></h4></span>
     <div>
       <span e-title="1" editable-checkbox="sup[0]" e-name="1">
            {{sup[0] ? "&#x2714" :  "&#x2718;"}}1
       </span>

      <span e-title="2" editable-checkbox="sup[1]" e-name="2">
            {{sup[1] ? "&#x2714" :  "&#x2718;" }}2
      </span>

      <span e-title="3" editable-checkbox="sup[2]" e-name="2">
            {{sup[2]? "&#x2714" :  "&#x2718;" }}3
     </span>
   </div>

 </div>

   ....
</form>

Вопрос в том, можно ли это сделать с помощью методов x-editable и/или angularjs? Я попытался использовать e-ng-change на maincb и передать его состояние какой-либо функции контроллера, но я не мог отключить дополнительные флажки... Я думаю, что это определенно возможно через jquery, но я бы хотел использовать методы angularsjs/x-editable framework. Вот моя скрипка

Заранее спасибо.


Ответы:


1

с jQuery вы можете сделать это:

$(document).on('click', 'input[name=maincb]', function(){
    $('.editable-input').prop('checked', $(this).is(':checked'));
});

ДЕМО: http://jsfiddle.net/NfPcH/7474/

Привет Сэм. Извините за задержку ответа. Формально ваш ответ правильный, но, как я уже упоминал выше, jquery не обрабатывает модель angularjs (или область действия). Таким образом, вы можете видеть, что после использования отключите все флажки и сохраните, они все еще имеют неизмененное состояние. Как склеить состояние флажков с моделью? – Шаров 26 минут назад

Я не угловой разработчик, я уверен, что есть способ сделать это с помощью Angular, но вот обходной путь, чтобы сделать это с помощью jQuery

ДЕМО: http://jsfiddle.net/NfPcH/7505/

$(document).on('click', 'input[name=maincb]', function(){
    var checked = $(this).is(':checked');
    $('form > div').eq(1).find('.editable-input').each(function(){
        if($(this).is(':checked') != checked){
            $(this).trigger('click');  
        }
    });
});
06.04.2015
  • Да, с jquery это не так сложно. Я предполагал, что есть решение, когда мы меняем модель в области видимости и это отражается, но, похоже, это не так просто... 06.04.2015
  • Привет Сэм. Извините за задержку ответа. Формально ваш ответ правильный, но, как я уже упоминал выше, jquery не обрабатывает модель angularjs (или область действия). Таким образом, вы можете видеть, что после использования отключите все флажки и сохраните, они все еще имеют неизмененное состояние. Как склеить состояние флажков с моделью? 07.04.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..