0

私は現在、自分が取り組んでいるプロジェクトに困惑しています。jQueryを使用して、開いている行の各divオブジェクトの長さ(tdsの数)を計算しようとしています。デモへのリンクがあります。

http://staging.mc.vanderbilt.edu/criss/ui-projects/r4u/073112/lab.html

「患者名」をクリックすると行が開き、各「ピル」が展開されてデータが表示されます。一部の「ピルス」(.results)には複数のデータエントリがあります。私のjQueryの選択では、各.resultsのtdsをカウントする必要があります。その後、2つまたは3つ以上あるかどうかに応じて、拡張を可能にするために「.ear」が表示されます。tr.dates行にtdsが2つしかない場合は、耳に表示したくありません。

行を開く前に「ピル」をクリックすると、この機能が機能します。患者1行の「SPEP」を試してください。

私はJqueryに比較的慣れていないので、複雑な関数や選択を書くのは得意ではありません。どんな助けでも大歓迎です。

4

1 に答える 1

0

tr.datesのtdsの数を数えるには、次のようなものを使用できます。

$(this).find('tr.dates td').length

$(this)が現在の".results"divになると仮定します。

したがって、要件に従って、上記のコードが<= 2に等しい場合は、「。ear」を表示しないでください。

動作するものを示すためのいくつかのコード

//Clicked on some button in tr with the class 'pt_row'
$('.pt_row td .name, .info_row td .name').click(function() {
   //Get closest pt_row and iterate through results section in this pt_row.
   $(this).closest('.pt_row').find('.results').each(function() {
      //Count number of tds in the dates
      if ( $(this).find('tr.dates td').length <= 2 ) {
         //We have 2 or less tds. So, don't show ear
         $(this).find('.ear').hide();
      } else {
         //We have more than 2 tds. So, show ear
         $(this).find('.ear').show();
      }
   });
});
于 2012-08-02T17:41:27.273 に答える