我一直在搞乱不同的表单和表格,现在我需要从表格tr和td字段获取数据,在每个获取的项目上运行if语句,并在表单内输出文本,这取决于在td fields。
所以现在我有类似的东西,它根本没有任何用处,现在,只需将td-01类值输出到表单中:
var test;
$('tbody tr').each(function(index) {
test = $(this+'.td.td-0');
$('fieldset.csc-mailform').after($('td.td-0'));
});
我的表结构看起来像这样:
<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对象,有什么方法可以解决这个问题吗?
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 呃,我正在运行如果声明对jQuery对象,当然它没有用。 我得到它的工作,看起来很讨厌,但似乎工作:
$('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/>');
}
);
现在,我需要弄清楚如何从这些创建输入字段。
答案 0 :(得分:2)
使用jQuery选择器上下文可以使它更清晰,例如:
$('tr').each(function () {
var val = $('td:first', this).text();
..
}
答案 1 :(得分: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;
}
}
});