当前位置: 首页 > 面试题库 >

jQuery复选框更改和单击事件

刁钧
2023-03-14
问题内容
$(document).ready(function() {

  //set initial state.

  $('#textbox1').val($(this).is(':checked'));



  $('#checkbox1').change(function() {

    $('#textbox1').val($(this).is(':checked'));

  });



  $('#checkbox1').click(function() {

    if (!$(this).is(':checked')) {

      return confirm("Are you sure?");

    }

  });

});


<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="checkbox" id="checkbox1"/><br />

<input type="text" id="textbox1"/>

此处.change()使用复选框状态更新文本框值。我.click()用来确认取消选中的操作。如果用户选择“取消”,则复选标记会恢复,但.change()会在确认前触发。

这会使事情处于不一致状态,并且选中复选框时文本框会显示false。

如何处理取消并保持文本框值与检查状态一致?


问题答案:

在JSFiddle中进行了测试,可以满足您的要求。这种方法的附加好处是,当单击与复选框关联的标签时,可以触发。

更新的答案:

$(document).ready(function() {
    //set initial state.
    $('#textbox1').val(this.checked);

    $('#checkbox1').change(function() {
        if(this.checked) {
            var returnVal = confirm("Are you sure?");
            $(this).prop("checked", returnVal);
        }
        $('#textbox1').val(this.checked);        
    });
});

原始答案:

$(document).ready(function() {
    //set initial state.
    $('#textbox1').val($(this).is(':checked'));

    $('#checkbox1').change(function() {
        if($(this).is(":checked")) {
            var returnVal = confirm("Are you sure?");
            $(this).attr("checked", returnVal);
        }
        $('#textbox1').val($(this).is(':checked'));        
    });
});


 类似资料:
  • 问题内容: 如标题所示,我想知道checkbox 和事件之间的区别(在jQuery中) 我已经读完了答案,复选框上的.click和.change有什么区别 但是,它对我不起作用。即使我在不​​失去焦点的情况下射击也会触发。 两者似乎都在工作。我在这里想念什么吗? 问题答案: 根据W3C,该事件是由键盘出于可访问性目的触发的: 为了给不使用鼠标的用户提供更好的用户体验,已经开发了浏览器来触发事件,即

  • 问题内容: 我希望一个事件在选中/未选中复选框时触发客户端: 基本上,我希望页面上的每个复选框都发生这种情况。这种触发点击并检查状态的方法可以吗? 我认为必须有一种更清洁的jQuery方式。有人知道解决方案吗? 问题答案: 绑定到事件而不是。但是,您可能仍然需要检查是否已选中该复选框: 绑定到 事件 而不是事件的主要好处是,并非所有对复选框的单击都会导致其更改状态。如果只想捕获导致复选框更改状态的

  • 使用RichTextFX,我能够创建一个包含字符串的代码区,并突出显示属于字符串[]关键字数组的所有单词。 我在上方有一个复选框控件,我在我的控制器代码中附加了一个,因此每当单击复选框时,它都会取消突出显示中所有突出显示的单词。我在取消突出显示(使文本背景为白色)中的文本时遇到了麻烦,因为styleClass是在下面显示的方法中定义的。现在一切正常,除了我单击复选框时,它不会取消突出显示单词: F

  • 我正在尝试做一些非常简单的事情,在点击按钮时更改文本。 我似乎无法使用它,有人能告诉我添加ActionListener的正确位置吗? 主要类别 atmGUI类 编辑: 这是产生的错误 类型new ActionListener(){}必须实现继承的抽象方法ActionListener.actionPerform(ActionEvent)

  • 我有一个像标志一样的布尔字段来声明表中的行是否被删除。它使用复选框显示,因此如果数据已被删除,复选框值为true,反之亦然。 以下是显示表格的代码: 在表中,我可以单击复选框,但我不知道如何处理单击事件,因为我使用数据来显示数据。如何处理复选框事件使用可数据?

  • 本文向大家介绍js和jquery分别验证单选框、复选框、下拉框,包括了js和jquery分别验证单选框、复选框、下拉框的使用技巧和注意事项,需要的朋友参考一下 本文分别介绍了js和jQuery验证单选框(radio)、多选框(checkbox)、下拉框(select),分享给大家供大家参考,具体内容如下 (1).首先说单选框(radio),radio和checkbox一样都是name相同值有多个在