根据数据库值设置toggle-wrap开关状态不生效如何解决?
问题原因
HTML 复选框(type="checkbox")的默认选中状态是通过checked属性控制的,你代码中使用的enabled是无效属性,disabled属性仅用来控制控件是否可编辑,和选中状态无关,这是导致逻辑失效的根本原因。
修正方案
只需要把三元判断的返回值调整为符合HTML规范的属性即可,修正后的代码如下:
<label class="control-labels mr-4">Lead Gen?</label> <div class="toggle-wrap tg-list-item"> <input class="tgl tgl-light" id="leadgen" name="leadgen" type="checkbox" <?php echo ($listing[0]['leadgen'] == 'Yes' ? 'checked' : ''); ?> /> <label class="tgl-btn" for="leadgen"></label> </div>
如果你的业务场景需要在非编辑状态下禁止用户切换开关,可以额外叠加disabled属性的判断逻辑,和选中逻辑互不影响。
内容的提问来源于stack exchange,提问作者H2O
相关产品推荐
相关产品推荐

