javascript - 单击时显示文本并禁用复选框

标签 javascript html css dom

所以我有两个独立的函数,一个用于在有人单击第一个复选框时禁用第二个复选框,另一个函数用于在有人单击复选框时显示一些文本,但我无法让这两个函数很好地协同工作。这些功能本身就可以正常工作。当您尝试同时使用这两个函数时,整个过程就崩溃了:

 // on click disable other text box
    function ckChange1(direct) {
      var ckName = document.getElementsByName(direct.name);
      for (var i = 0, c; c = ckName[i]; i++) {
       c.disabled = !(!direct.checked || c === direct);
      }
    }
    
    // shows text on click
    function showText() {
      const checkBox = document.getElementById("progress1");
      const text = document.getElementById("text");
      if ((checkBox.checked = true)){
            text.style.display = "block";
        } else {
           text.style.display = "none";
        }
    }
   #text{
      display: none;
    }
    <input type="checkbox"  id="progress2" onclick="ckChange1(this); showText();">
    <label>DIRECT</label>    
    
    <input type="checkbox" id="progress1" onclick="ckChange1(this); showText();">
    <label>MULTI-ROUTE TYPE</label>
    
    <h2>Drop Off</h2>
    <h2 id="text">First Drop Off</h2>

我似乎无法弄清楚这一点,因为第二个函数根本没有改变复选框的值,而只是检查值,所以我不明白为什么它会干扰第一个函数。

提前感谢您的帮助。

最佳答案

我想我没理解你的要求
但是试试这个

function ckChange1(direct) {
	var element=document.getElementById(direct);
	var ed=element.disabled;
	element.disabled=!ed;
	showText(!ed);
}
function showText(ed) {
	const text = document.getElementById("text");
	text.style.display = ed?"block":"none";
}
#text{
  display: none;
}
<input type="checkbox"  id="progress2" onclick="ckChange1('progress1');">
<label>DIRECT</label>
<input type="checkbox" id="progress1" onclick="ckChange1('progress2');">
<label>MULTI-ROUTE TYPE</label>
<h2>Drop Off</h2>
<h2 id="text">First Drop Off</h2>

关于javascript - 单击时显示文本并禁用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53439358/

相关文章:

javascript - 如何将输入数据视为变量?

javascript - 如何使用angularjs将html文件转换为字节数组

html - 如何在我的覆盖 div 中垂直居中我的跨度?

javascript - 位置选择器提取值

javascript - 如何使 TypeScript 枚举限制为特定数字

html - 量化 <p> 相对于 <div> 的语义值

Javascript 从样式中删除特定属性

javascript - 在 JavaScript 脚本中设置 CSS3 输入字段的样式

css - <span> 的垂直边框可以重叠吗?

html - <select> 和 <option> 的 CSS 背景图像问题