【问题标题】:uncheck the checkbox upon saving a row保存行时取消选中复选框
【发布时间】:2016-04-21 09:02:08
【问题描述】:

我使用的是 jqgrid,每当我选中复选框时,该行是可编辑的,但我有 2 个问题:

  1. 编辑行后,复选框仍处于选中状态,但我希望在输入回车并保存行时取消选中它..

  2. 我想一次点击一个复选框

这是我的代码

dataGrid.prototype = {

  display: function() {
    var self = this;
    var html = [];
    var check = 0;
    var lastSelection;
    html.push("<table id='" + this.id + "" + "'class='table'>\n</table>");
    html.push("<div id='pagger_" + this.id + "'></div>");
    $('body').append(html.join(""));
    $("#" + this.id).jqGrid({
      url: "index.jsp",
      styleUI: 'Bootstrap',
      .....
      loadComplete: function() {
        $("#" + this.id).on("click", "input[type=checkbox]", function(e) {
          var $this = $(this); //this is the checkbox
          var rowid = $this.parents('tr').attr('id');
          self.editRow(rowid);

        });
      }


    });
  },

  .....

  editRow: function(id) {
    var lastSelection;
    if (id && id !== lastSelection) {
      $("#" + this.id).jqGrid('restoreRow', lastSelection);
      $("#" + this.id).jqGrid('editRow', id, {
        keys: true,
        focusField: 1
      });
      lastSelection = id;
    }
  }

};

【问题讨论】:

  • 在 loadcomplete 中,this 并不是你想的那样。像使用 self 一样保存一份副本并使用它

标签: javascript jquery checkbox jqgrid


【解决方案1】:

如果您只有 (1) 个复选框,您可以在保存功能后添加 $('#your_checkbox').prop('checked',false); 之类的内容。或者,如果您有多个复选框,则可以输入类似 $('#your_form input').prop('checked',false); 的内容。

【讨论】:

  • 同样的问题仍然存在
【解决方案2】:

如果您取消选中单个复选框 $("#checkbox_Id").attr("checked",false),请在保存按钮中单击这样放置。如果您将使用多个复选框,请使用复选框类取消选中所有复选框 $(".checkbox_class").attr("checked",false)

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 2021-03-31
    相关资源
    最近更新 更多