Скрыть / показать флажок php по идентификатору, например www.anysite.php?id=10
У меня есть форма и флажок. При нажатии на флажок, div внутри некоторых других div будет отображаться или скрываться. Это работает! Но если я захожу на мою страницу с идентификатором, например, xxxxx.php? Id=10, флажок установлен, но элементы div скрыты. если я нажму на флажок, появится divs, но флажок снят (плохо, например, для обновлений mysql).. надеюсь, кто-нибудь может помочь мне в этом вопросе..
Вот мой код:
$(document).ready(function() {
$('#Show').hide();
$("input[name=mycheckbox]").click(function () {
$('#Show').toggle();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form">
<div class="form-group">
<div class="form-group">
<div class="checkbox-inline">
<label>
<input type="checkbox" name="mycheckbox" id="mycheckbox" value="yes"> my option
</label>
</div>
</div>
</div>
<div id="Show">
<div class="form-group">
<label for="textinput" class="control-label">Company </label>
<div class="">
<input type="text" class="form-control" name="name" id="name" placeholder="" value="">
</div>
</div>
</div>
</form>
У моего поля ввода есть этот код (php не работает во фрагменте):
<input type="checkbox" name="mycheckbox" id="mycheckbox" value="yes" <?php if (isset($_GET['id'])) {echo $row->mycheckbox == "yes" ? 'checked="checked"' : "";}?>
Спасибо за вашу помощь!
1 ответ
Решение
Я бы порекомендовал использовать change
событие, запуск с помощью .trigger('change')
на странице загрузки, так что div
синхронно с состоянием элемента флажка.
Также вы должны .toggle(display)
$("input[name=mycheckbox]").change(function () {
$('#Show').toggle(this.checked);
}).trigger('change');