javascript - 页面加载后基于复选框隐藏/显示 div

标签 javascript jquery forms

我正在根据选中的复选框隐藏/显示一个 div。

<input type="checkbox" id="other" name="os[other]" value="6" onclick="toggle_form_element('os[other]')">

这是我的 Javascript 函数:

function toggle_form_element(id) {
    if ((document.getElementsByName(id)[0].checked)) {
        document.getElementById('sometimesHidden').style.display = 'block';
    } else {
        document.getElementById('sometimesHidden').style.display = 'none';
    }
}

目前这工作正常。但是如果我提交这些值并将它们保存到 session 中。这些 Session 用于将复选框设置为 checked="checked",如下所示:

<input type="checkbox" id="other" name="os[other]" value="6" onclick="toggle_form_element('os[other]')" <?PHP if(!empty($_SESSION['register']['os']['other'])) echo "checked=\"checked\""; ?>>

所以如果我重新加载页面,复选框已经被选中,因为可用的 $_SESSION 变量。但是隐藏的 div 是不可见的。那么我如何扩展我的 JS 函数,使其不仅可以“onclick”工作。我应该用什么来检查它?

最佳答案

您需要在页面加载时检查此复选框的状态

<body onload="toggle_form_element(id);">

或者如果您使用的是 jQuery:

$(function() {
  // This code executes when the page loads
  toggle_form_element(id);
});

关于javascript - 页面加载后基于复选框隐藏/显示 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16809284/

相关文章:

javascript - 使用 Jquery 和 HTML 按日期排序

javascript - 在没有 jquery 的情况下使用 javascript 淡入

javascript - 同一页面中的多个颜色选择器

php - MySQL 表单的前端(Windows 或 OSX)

jQuery 远程验证强制双击提交表单

javascript - 使用javascript禁用iframe的重定向

php - 使用ajax验证时禁用提交按钮

php - 强制 nginx 立即关闭连接

java - 如何从日期选择器中选择年份和月份-Selenium Webdriver

Django:使 ModelForm 中的某些字段 required=False