Я пытаюсь, чтобы список переключателей отображался как список флажков, но с преимуществами списка переключателей (т. Е. Можно передать только 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>