首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在javascript中切换只读状态复选框

如何在javascript中切换只读状态复选框
EN

Stack Overflow用户
提问于 2017-12-04 19:47:58
回答 1查看 1K关注 0票数 0

我知道,将readonly属性添加到复选框并不会使其成为只读的。此外,添加disable属性也不会发布值。

在此SO post上,有不同的选项建议使复选框只读。

但是,我希望在某些按钮单击时切换复选框的只读状态,并在表单提交上发布值。

因此,按照建议,我在click事件上添加了“返回false”。效果很好。然而,我如何切换这种行为呢?

代码语言:javascript
运行
复制
<button type="button" id="btn">Toggle</button>
<input type="checkbox" value="false" onClick="return false;" name="CheckBox1" />


$(document).ready(function() {

   $("#btn").click(function()
   {
      //how do i toggle readonly here
   })

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-04 20:45:20

一种方法是在复选框上切换一个类名,然后在用户试图更改复选框状态时测试该类名是否存在。

(您可以使用一个数据属性,但是这种方法的另一个好处是可以让用户看到输入是只读的。)

代码语言:javascript
运行
复制
$("#btn").on("click", function() {
  $('input[name="CheckBox1"]').toggleClass("readonly");
});

$('input[name="CheckBox1"]').on("click", function() {
  if ($(this).hasClass('readonly')) {return false}
});
代码语言:javascript
运行
复制
.readonly {
  opacity: 0.5;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" id="btn">Toggle</button>
<input type="checkbox" value="false" name="CheckBox1" />

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47640895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档