Как снять галочку с отмеченных элементов в поле выбора матрицы?(Плагин Wordpress / FormCraft) - PullRequest
0 голосов
/ 19 сентября 2019

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

Я использую Wordpress с плагином FormCraft Premium, который имеет возможность включить матрицу выбора (флажок) вform.

Я хочу, чтобы пользователи сообщали мне, сколько у них кроватей, сколько ночей, сколько зеркал, телевизоров и т. д.

Но проблема в том, что по умолчанию пользователи могут 'не снимайте флажок с выбора, который они делают.

Поэтому, если пользователь случайно выберет 4 телевизора, он не сможет позже снять этот флажок, снова щелкнув эту кнопку-переключатель.Он может выбрать только другую радиокнопку (1, 2, 3 или 5+), что плохо в тех случаях, когда у пользователя нет телевизоров.

Не могли бы вы сказать, как можно исправитьэто?

Вот URL моей формы: https://www.tajnezdravlja.com/form-view/4

Я думаю, что это можно решить только с помощью JavaScript.

У меня нет опыта работы сjavascript, я знаю только HTML и CSS.

Я не знаю, где я могу найти соответствующий код, так как у меня нет опыта работы с .js

Когда я проверяю сайт иоткройте консоль. Я не вижу ничего релевантного.

Тем не менее, плагин FormCraft имеет возможность добавить собственный код javascript в форму.* Пользовательский JavaScript Добавьте сюда любой код JavaScript, и он будет выполняться при загрузке страницы.Вам не нужно использовать теги.Убедитесь, что это правильный JavaScript!

Когда я нажимаю один раз на выбор, я ожидаю, что он будет проверен, и это произойдет, это нормально.

Но когда я снова нажимаю на тот же выборЯ ожидаю, что это станет непроверенным, но это остается проверенным.В этом проблема.

1 Ответ

0 голосов
/ 20 сентября 2019

Попробуйте добавить это в пользовательский JavaScript.Это позволяет пользователям переключать тип радиовхода в полях матрицы.

jQuery('.fc-form .matrix-cover :radio').mousedown(function(e){
  var jQueryself = jQuery(this);
  if( jQueryself.is(':checked') ){
    var uncheck = function(){
      setTimeout(function(){jQueryself.removeAttr('checked');},0);
    };
    var unbind = function(){
      jQueryself.unbind('mouseup',up);
    };
    var up = function(){
      uncheck();
      unbind();
    };
    jQueryself.bind('mouseup',up);
    jQueryself.one('mouseout', unbind);
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...