javascript - 复选框显示隐藏字段 - 无法加载

标签 javascript jquery checkbox hide show

如果选中了复选框,我正在使用这个可能丑陋的 JavaScript 来显示文本框(在 li 标记及其标签中)。

   $("#li-2-21").css("display","none");
   $("#Languages-spoken-and-understood-8").click(function(){
    if ($("#Languages-spoken-and-understood-8").is(":checked"))
    {
        $("#li-2-21").show("fast");
    }
    else
    {     
        $("#li-2-21").hide("fast");
    }
  });

这工作正常,但如果加载页面并且已选中复选框则不起作用,因为 #li-2-21 会自动隐藏。

我需要创建一个读取复选框状态的函数吗?或者有更简单的方法吗?

哦,也可以随意缩短那些丑陋的代码,我想有更短的方法来实现我的目标吗? 非常感谢您的帮助!

最佳答案

最简洁:

$(document).ready(function() {
   $("#Languages-spoken-and-understood-8").change(function() {
      $("#li-2-21")[$(this).is(":checked") ? 'show' : 'hide']("fast")
  }).change();
});

编辑:从点击切换为更改事件

关于javascript - 复选框显示隐藏字段 - 无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3580276/

相关文章:

javascript - 无法将 request.responseText 打印到页面

javascript - 如何使用窗口覆盖和多个拖放区处理文件拖放?

java - 如何在 Java 中使用三态复选框/TreeItem?

javascript - 选中复选框时向 JavaScript 变量添加值

jsf - 在 JSF/PrimeFaces 中显示复选框列表

c# - 无法使用 ClientScript.RegisterStartupScript 引发 div

javascript - 聚合物在模板内结合功能结果

javascript函数将html div拉入master.html div

javascript - 从对象数组创建值数组

javascript - 如何在 Backbone.js 中追加后添加类?