我使用jQuery select来查找表的所有行。
$("#TaskListing table tr").each(function (index, element) { codeBlock })
我想获取列 ID,类别和标题的值,并将所有这些保存到托管html页面的服务器上的.json文件中。
我会在codeBlock中使用哪些代码来获取每行的Id,Category和Title值?
以下是我用来填充表格的代码。
var tableObj = $("#TaskListing table").append(
"<tr class=rows id=TaskId>" +
"<td id=Begin><input id=onoff type=checkbox " + ischecked + "></td>" +
"<td id=Unique>" + idnum + "</td>" +
"<td id=Cat contenteditable='true'>" + catstr + "</td>" +
"<td id=Title contenteditable='true'>" + titlestr + "</td>" +
"<td id=Time ondblclick=\"editElapsedTime(" + idnum + ")\">" + timeStr + "</td>" +
"<td id=Percent>0</td>" +
"<td id=Trash><input name=TrashInput" + idnum + " type=image src=trashcan.jpg height=30 width=30 /></td>" +
"</tr>"
);
答案 0 :(得分:3)
为每行存储@Directive({ selector: '[coolBehavior]' })
export class CoolBehaviorDirective {
@HostListener('click', ['$event']) onClick($event){
console.info('clicked: ' + $event);
}
}
的所有元素,并使用td
获取相应的td
,如下所示:
.eq()
P / s:var dataStore = [];
$("#TaskListing table tr").each(function (index, element) {
// store each td for each iterated rows
var tds = $( this ).find( 'td' );
// .eq(1) is a zero-based, then start with 1 for column no 2
var idClmn = tds.eq(1); // id column
var catClmn = tds.eq(2); // category column
var titClmn = tds.eq(3); // title column
var obj = {};
// getting text
console.log( idClmn.text(), catClmn.text(), titClmn.text() );
// here continue populate data into object or else
obj.id = idClmn.text();
obj.category = catClmn.text();
obj.title = titClmn.text();
// push onto
dataStore.push( obj );
});
console.log( dataStore );
,id必须是唯一的。您可以用类替换它。同样适用于td
答案 1 :(得分:2)
这将创建一个json对象。
var jsonObj = [];
$("#TaskListing table tr").each(function (index, element) {
item = {}
item ["id"] = $(this).find('td#Unique').text();
item ["Cat"] = $(this).find('td#Cat').text();
item ["Title"] = $(this).find('td#Title').text();
jsonObj.push(item);
});