1

データがいっぱいのhtmlテーブルがあり、最初の列には入力チェックボックスと名前が含まれています。 2つの基準が満たされたとき、私は、このチェックボックスをチェックしたい:複数の表のセル条件に基づいてチェックボックスをオンにします

  1. 名は「完全」である
  2. 送られた日付は「2016年9月20日」「M/D/YYYY」IEで渡された文字列にマッチします(なし先頭のゼロ)

私はすでにそれがチェックボックスで、名前が完了し

 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; 
       } 
      } 
     } 

という場合には、セル内の日付があるgetElementByTagName(「入力」)を使用してチェックを最初に行うことができます"9/20/2016 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を試しましたが、他の入力項目があるのでカウントがオフです。チェックボックスにクラス名を使用しようとしましたが、チェックできません。私はのようにjavascriptやjqueryのに開いている

私はすべてのTDSにクラスを割り当てた

は、チェックボックスを持つ最初の列は、「actionClass」で、日付文字列と1が「dateSentClass」であります溶液。

編集:ここではフィドルは、チェックボックスを取得するには、サンプルのテーブル構造と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'); 

を入力し、innerHTMLまたはtextContentのいずれかを呼び出して、tdの内容を文字列として取得することができます。

また、使用することができます。

jQuery('td.yourClass'); 

とTDの内容を取得するために、各要素に対して.text()を呼び出します。

0

あなたはallRows[i]で表されるinputを含むセルと同じ行に存在するtd.dateSentCellセルのテキストを取得しようとしているように聞こえます。それが正しい場合は、このjQueryを使用できます。

var dateText = $('td.dateSentCell', $(allRows[i]).parent().parent()).text(); 
関連する問題