Скрыть / показать флажок 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');
Другие вопросы по тегам