Изменить переключатель, чтобы флажок отображался неопределенным в Chrome - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь, чтобы список переключателей отображался как список флажков, но с преимуществами списка переключателей (т. Е. Можно передать только 1 значение).

Однако проблема, с которой я сталкиваюсь, заключается вчто в Google Chrome значение по умолчанию установлено на «неопределенный», а значение «ложное».По умолчанию первое значение в списке должно быть «true», и в настоящее время это работает.

Как я могу предотвратить установку второго значения неопределенным?

Код иногда может вести себя странно, так какобновление браузера иногда приводит к снятию флажка с неопределенного и иногда к возврату его к неопределенному.

Я не нашел шаблон в этом.

$(document).ready(function() {
  $("input[type=radio]:eq(0)").prop("checked", true);
  $("input[type=radio]:eq(0)").data("ischecked", true);
  $("input[type=radio]:eq(1)").prop("checked", false);
  $("input[type=radio]:eq(1)").addClass("opt-in-radio");

  $('form').on('click', ':radio', function() {
    var status = $(this).data('ischecked'); //get status
    status && $(this).prop("checked", false); //uncheck if checked
    $(this).data('ischecked', !status); //toggle status
    if (this.className == "opt-in-radio") $("input[type=radio]:eq(0)").prop("checked", !this.checked)
  });
});
input[type="radio"] {
  -moz-appearance: checkbox;
  -webkit-appearance: checkbox;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
...