1

我有一个充满数据的html表格,第一列包含一个输入复选框和一个名称。我要检查该复选框,当两个条件都满足:根据多个表格单元格标准检查复选框

  1. 名称为“完成”
  2. 发送日期的“M/d/YYYY”,即“2016年9月20日”通过的字符串相匹配(没有前导零)

我已经可以做的第一使用getElementByTagName(“输入”),并检查它是否是一个复选框,该名称是完全

 function checkAllComplete() 
     { 
      var allRows = document.getElementsByTagName("input"); 
      for (var i=0; i < allRows.length; i++) { 
       if (allRows[i].type == "checkbox" && allRows[i].name == "complete") 
       { 
        allRows[i].checked = true; 
       } 
      } 
     } 

单元格中的日期“2016/9/20 4:02:03 PM”。我也有我想用得到它为m/d/yyyy的正则表达式:

var myRe = new RegExp("^([1-9]|1[012])\/([1-9]|[12][0-9]|3[01])\/(19|20)[0-9]{2}", "g"); 

但我无法得到相应的TD和它的文本。我尝试了一个getElementsByClassName,但由于有其他输入项目计数关闭。我尝试使用复选框的类名称,但后来我无法检查它们。

我分配类的所有TDS,与复选框的第一列是“actionClass”和一个带有日期字符串为“dateSentClass”

我打开JavaScript或jQuery的作为解。

编辑:这里有一个样本表结构https://jsfiddle.net/trueimage/4u87euz5/2/

+0

你能提供一个你的表结构的例子吗?一个片段/ jsfiddle会很棒。 – Dekel

+0

按类选择应该获取日期。这不行吗?代码看起来像'$('。dateSentClass')。val()' – dlsso

回答

0

为了获得复选框的小提琴,你可以使用:

document.querySelectorAll('input[type=checkbox]'); 

或:

jQuery('input[type=checkbox]'); 

您可以使用下面的方法获得一组tds:

document.querySelectorAll('td.yourClass'); 

然后您可以调用innerHTMLtextContent以td的内容作为字符串。

您还可以使用:

jQuery('td.yourClass'); 

,并呼吁.text()每个元素来获得TD的内容。

0

这听起来像你正试图获得存在的同一行包含由allRows[i]代表的input细胞在td.dateSentCell单元格的文本。如果这是正确的,你可以使用这个jQuery:

var dateText = $('td.dateSentCell', $(allRows[i]).parent().parent()).text(); 
相关问题