我有一个表单和一个复选框。通过单击复选框,其他div中的div将显示或隐藏。这有效!但是,如果我访问我的页面,其ID为xxxxx.php?id = 10,则会选中复选框,但div是隐藏的。如果我点击复选框,div将显示,但复选框未选中(对于例如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>
&#13;
我的输入字段包含此代码(php在代码段中不起作用):
<input type="checkbox" name="mycheckbox" id="mycheckbox" value="yes" <?php if (isset($_GET['id'])) {echo $row->mycheckbox == "yes" ? 'checked="checked"' : "";}?>
感谢您的帮助!
答案 0 :(得分:0)
我建议使用change
事件,在页面加载时使用.trigger('change')
触发,以便div
与checkbox元素的状态同步。
另外你应该.toggle(display)
$("input[name=mycheckbox]").change(function () {
$('#Show').toggle(this.checked);
}).trigger('change');