javascript - 在页面加载时运行 javascript 以隐藏表单

标签 javascript

如果用户单击复选框,我将使用以下 javascript 隐藏表单。

我试图让代码在页面加载时运行,但我不知道如何做到这一点。谁能帮忙?

$('#no_cage').change(function(){
  if (this.checked) {
    $('#cage_details').fadeOut();
  } else {
    $('#cage_details').fadeIn();
  }                   
});

HTML:

<input name="no_cage" id="no_cage" type="checkbox" value="1" <?php echo $checked; ?>><label for="no_cage">Check if not required</label>

<div id="cage_details">

<form>

...

</form>

</div>

当用户单击复选框时,这会正常工作。但是当它从数据库中提取并且在页面加载时已经选中复选框时不会。

最佳答案

只需将此代码添加到文档就绪处理程序中。它将触发更改事件处理程序,而无需实际更改...

$('#no_cage').trigger("change");

或者,只需触发您声明的事件...

$('#no_cage').change(function(){
    if (this.checked) {
        $('#cage_details').fadeOut();
    }
    else {
        $('#cage_details').fadeIn();
    }                   
}).trigger("change");

这将添加事件处理程序,然后立即执行它,以便在加载文档时将表单设置为正确的状态。

关于javascript - 在页面加载时运行 javascript 以隐藏表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39288796/

相关文章:

javascript - Chrome 和 IE 11 之间的 Jasmine spyOn 不同

javascript - Thymeleaf 外部 javascript 文件与 html 文件共享模块属性

javascript - 基于值的 Angular 开关不透明度

javascript - 在 JS 中动态设置 div 位置和大小 - 如何使过渡更平滑?

javascript - 如何替换 JavaScript 中所有出现的数组

javascript - 如何显示作为 props 传递给功能组件的数组元素?

javascript - 引用匿名函数与命名函数的属性

javascript - knockout js 'with'绑定(bind),数组为空时隐藏

JavaScript 不执行 HTML 中的文本框值

javascript - 有没有办法在 ui-view 之外重新加载 angular.js 指令?