HTML 复选框 Click() 使用 jQuery 返回 FALSE 或 TRUE,而不是 READONLY 或 DI

HTML Checkbox Click() Return FALSE or TRUE instead of READONLY or DISABLED using jQuery

本文关键字:TRUE DI READONLY FALSE Click 复选框 使用 返回 jQuery HTML      更新时间:2023-09-26

由于我没有足够的积分发表评论,我必须问一个问题。我所引用的情况可以在这里看到 链接.我保证在发布问题之前我已经谷歌了几个小时。

我正在尝试能够将 HTML 复选框"切换"为只读。这就是我目前所处的位置。

  1. "禁用"不是一个选项。它不会随表单一起发布。
  2. "只读"并不是真正的只读。它可能显示为灰色,但仍可以单击。
  3. 唯一似乎有效的是链接所指的内容,即将READONLY应用于复选框,然后是一些jQuery,例如: $(':checkbox[readonly=readonly]').click(function(){return false;});$(':checkbox[readonly=readonly]').click(function(){return true;});
    • 我还搞砸了交换类,以防对只读属性有一些限制。

问题是,无论第一个设置变成什么(TRUE 或 FALSE),它都会保持到页面刷新之前的样子。我无法仅通过运行其他语句以返回相反的语句(FALSE 或 TRUE)来重新启用复选框。

问题

  1. 有没有办法能够切换 .click 事件的返回(TRUE 或 FALSE)?
  2. 是否有另一种替代方法可以切换复选框的功能?

谢谢一堆。

jsFiddle DEMO

如果你想在return false;return true;之间切换,你可以使用.change()事件并提出一个特定的条件来切换。

$(':checkbox[readonly=readonly]').change(function () {
    if($(this).is(':checked'))
        console.log("return false");
    else
        console.log("return true");
});

OK终于想通了。我会尽量保持我的观点井井有条。

  1. 包括jquery-ui.js,不知道为什么,但它需要它。
  2. 使用 .change() 事件添加和删除两个指定读/写的类
  3. 使用$('.ReadClass').bind('click',false);阻止检查
  4. 使用 $('.ReadClass').unbind('click', false); AND切换类并将$('.WriteClass').bind('click',true);添加到启用 en 的检查

这是我的jsFiddle演示的链接。 该演示循环遍历所有指定的表单元素,以切换用户输入数据的功能。

希望这对其他人有所帮助。