Вот мой код -Установить тумблер на основе состояния загрузки страницы
(function() {
$(document).ready(function() {
$('.switch-input').on('change', function() {
var isChecked = $(this).is(':checked');
var selectedData;
var $switchLabel = $('.switch-label');
if (isChecked) {
selectedData = $switchLabel.attr('data-on');
} else {
selectedData = $switchLabel.attr('data-off');
}
if (selectedData === 'ACTIVE') {
selectedData = 'A';
} else {
selectedData = 'C';
}
$('#h-status').val(selectedData);
$('#form_filterBillItems').submit();
});
});
})();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="switch">
<input class="switch-input" type="checkbox"/>
<span id ="tglInp" class="switch-label" data-on="CANCEL" data-off="ACTIVE"></span> <span class="switch-handle"></span>
</label>
У меня есть этот тумблер, который отображает отфильтрованный список на основе значения переключателя: «ACTIVE» или 'CANCEL'
Это вид на бритву. Сетка, отображающая список, находится в частичном представлении. Но тумблер находится на полном экране.
Проблема заключается в том, когда я возвращаюсь к этому представлению, сетка фильтруется на основе условия, но коммутатор возвращается к состоянию по умолчанию. Например, если я перейду к следующему представлению из состояния Toggle switch Cancel, когда я верну его, он должен оставаться на Cancel, но тумблер включен в активном состоянии.
Как это сделать. Любая помощь будет высоко оценен! Это мой первый вопрос, поэтому, если я допустил какие-либо ошибки, при публикации, прошу прощения.
Спасибо!
спасибо. Я не верю, что у меня есть дубликат кода. Мне нужно сначала получить значение selectedData из атрибута 'data-on'/'data-off', прежде чем я смогу проверить значение и передать его контроллеру. – am17mu
Эта часть работает нормально. У меня возникают проблемы, когда я возвращаюсь к этому представлению, мне нужно, чтобы переключатель находился в состоянии, которое я оставил, прежде чем перейти к следующему виду. Если я пошел от Отмена, это должно быть на Отмене, а не на Активном. – am17mu
В jQuery вы можете использовать localStorage и sessionStorage для хранения текущего значения представления. Затем в следующий раз, когда представление возвращается из действия контроллера, проверьте значение хранилища и затем переключите его. – prabhu379