2011-01-31 6 views
1

私はさまざまなフォームとテーブルを使いこなしていましたが、今度はテーブルtrとtdフィールドからデータを取り出し、取り出したアイテムごとにifステートメントを実行し、テキストフォーム内では、tdフィールドに何があるかによって異なります。"each"の内側のタグ要素を取得

var test; 
$('tbody tr').each(function(index) { 
test = $(this+'.td.td-0'); 
$('fieldset.csc-mailform').after($('td.td-0')); 
}); 

と私のテーブル構造は何かを探します:

だから今、私はちょうど形式にTD-01クラスの値を出力し、今のところ、まったく何も有効ではありません。このような何かを持っています

<table class="contenttable contenttable-3 tabel"> 
    <tr class="tr-even tr-0"> 
      <td class="td-0">01</td> 
      <td class="td-1">Valik 1</td> 
      <td class="td-last td-2">150€</td> 
    </tr> 
    <tr class="tr-odd tr-1"> 
      <td class="td-0">01</td> 
      <td class="td-1">Valik 2</td> 
      <td class="td-last td-2">50€</td> 
    </tr> 
    <tr class="tr-even tr-2"> 
      <td class="td-0">01</td> 
      <td class="td-1">Valik 3</td> 
      <td class="td-last td-2">170€</td> 
    </tr> 
    <tr class="tr-odd tr-3"> 
      <td class="td-0">01</td> 
      <td class="td-1">Valik 4</td> 
      <td class="td-last td-2">88€</td> 
    </tr> 
</table> 

今はtrタグしか見つからず、すべてを出力します。 trタグを分割し、td-0の条件を実行してラジオボタン/テキスト入力/チェックボックスなどである必要があるかどうかを判断し、td-1に含まれているものを見て、そのフィールド名を作成してからtd-2たとえば価格です。これらのすべてが一種の形になるはずです。 ご覧のとおり、jQueryに悩まされていますが、実行可能にすべきだと思います。

編集: このようなことが少しありましたが、if文はjQueryオブジェクトで動作しないようですが、これを回避する方法はありますか? jQueryオブジェクトに対して文は、もちろん、それがうまくいかなかった場合

var check1; 
$('tbody tr').each(function(index) { 
//test = $(this+'.td.td-0'); 
check1 = $('td.td-0'); 
alert(check1); 
if(check1=='01'){ 
content_type="checkbox"; 
}else if(check1=='02'){ 
content_type="text"; 
}else{ 
content_type="none"; 
} 
$('fieldset.csc-mailform').after(content_type); 

//$('fieldset.csc-mailform').after($('td.td-0')); 
}); 

// EDIT2 うわ、私は走っていました。 私はこれで作業それを得た、非常に厄介に見えますが、動作するようです:

$('tr').each(function() { var val = $(this).children('td:first').text(); 
//$check1 = $('td.td-0'); 
if(val=='01'){ 
content_type="checkbox"; 
}else if(val=='02'){ 
content_type="text"; 
}else{ 
content_type="none"; 
} 
$('fieldset.csc-mailform').after(content_type + '<br/>'); 
} 
); 

は今、私はこれらからの入力フィールドを作成する方法を理解する必要があります。

このような何かを行います

答えて

2

あなたはおそらく例えば、それjQueryのセレクタのコンテキストを使用して、ビットクリーナー作ることができます。:

$('tr').each(function() { 
    var val = $('td:first', this).text(); 
    .. 
} 
0

$('table tr').each(function() { 
    $tds = $(this).children(); 
    for(var i=0;i<$tds.length;i++){ 
     $td = $tds[i]; 
     if($td.hasClass('td-0'){ 
      //do your thing by getting next TD or something else 
      break; 
     } 
    } 
}); 
関連する問題