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(); 
相關問題