【问题标题】:Resetting all checkboxes which are present over few pages重置出现在几页上的所有复选框
【发布时间】:2013-04-26 05:38:26
【问题描述】:

我有一个弹出窗口,其中加载了近 127 个具有名称('party')的复选框,每页显示 10 个复选框(13 页)。

我有一个重置按钮,单击它会调用“doReset()”函数。当单击重置按钮时,我想重置(checked=false)所有复选框。

我试过了,

function doReset(){ 
  document.forms[0].reset();
  }

但这只是清除第 1 页的选中复选框,而在其他页面中选中的复选框没有被清除。我是 jsp 和 javascript 的新手。给我建议!!!

附注: 甚至尝试过

function doReset(){ 
  document.forms[0].reset();
  var w = document.getElementsByTagName('input'); 
      for(var i = 0; i < w.length; i++){ 
      if(w[i].type=='checkbox'){ 
      w[i].checked = false; 
  }
  }
  }

仍然只清除第 1 页的复选框,而不清除其他复选框。

【问题讨论】:

  • 您是在请求时预取所有 13 个页面还是页面加载(在浏览器中)?
  • 看起来您的分页是由 ajax 或您未处理的某些数据进行的,这就是为什么您不能同时更新所有检查。

标签: java javascript jsp checkbox


【解决方案1】:
function doReset(){

        var checkBxs = document.getElementsByName('partiesChBx');
        document.forms[0].selectdRwIds.value="";
        for(var i = 0; i < checkBxs.length; i++){
        checkBxs[i].checked = false; 
        }
}

实际上,这段代码起到了作用。问题出在selectdRwIds 上,即使在创建“”之后,它仍然具有价值。

【讨论】:

    【解决方案2】:

    我不确定这是否可行,但尝试一下是否有害:

    $('input:checkbox').removeAttr('checked');

    或以下

    $('input[type=checkbox]').each(function() { this.checked = false; });

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-12
      • 2012-07-12
      • 2020-11-23
      • 1970-01-01
      • 2019-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多