fnAddData()在数据表中增加了同一行,而不是增加新行
我有一个XML字符串,我需要根据该XML数据在数据表显示..fnAddData()在数据表中增加了同一行,而不是增加新行
var xml = "<Users><user><username>user</username><password>password</password></user><user><username>user1</username><password>password1</password></user><user><username>user2</username><password>password2</password></user></users>"; //this is a sample, but in reality I'm getting the xml string from server
xmlDoc = $.parseXML(xml); //parsing xml to valid xml document
var $events = $(xmlDoc).find("Users");
var thisTable;
thisTable = $("#user-data").dataTable( //user-data is the id of my table
{
"sPaginationType": "full_numbers",
"bJQueryUI": true
}
);
$events.each(function(index, event){
console.log('test');
var $event = $(event),
addData = [];
addData.push($event.children("loan").children("user").children("username").text());
addData.push($event.children("user").children("password").text());
thisTable.fnAddData(addData);
});
这是基于演示在座
,但我有一个很奇怪的问题,在我的控制台,“测试”被印刷只有一次,所以每次迭代仅仅只有一次。同样在我的表中,所有用户名都显示在第一行的用户名字段中,并且所有密码都显示在第一行的密码字段中。说,我在relatime时间使用的数据是完全不同的,这只是一个例子。这是表
<table class="table table-striped table-bordered table-hover" id="loan-data">
<thead>
<tr>
<th>Username</th>
<th>Password</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
我无法弄清楚,为什么所有的数据都是加入单行这主要是由于这样的事实:.each
迭代仅仅只有一个无论DATAS的多单怎么都存在。它完美的小提琴例子,但是当我经过一些修改尝试它,我得到这个冲突..
此更新each
应该做的伎俩:
var eventChildren = $event.children("loan");
eventChildren.each(function(index, event){
console.log('test');
var $event = $(event),
addData = [];
addData.push($event.children("user").children("username").text());
addData.push($event.children("user").children("password").text());
thisTable.fnAddData(addData);
});
loan
包含儿童节点名称user
。所以我们需要迭代loan
而不是遍历文档根目录。
它的工作原理..非常感谢您的解释。我刚开始了解它是如何工作的。 – 2015-02-07 11:51:58
我喜欢给我的
@ user1354678,我会在CSS中这样做。使用这个:'#loan-data> tbody> tr:nth-child(odd){background-color:#c3c3c3;}'这会为所有奇数行添加背景色。 – Mouser 2015-02-07 11:58:45
'$ events'包含什么。您是否尝试将该对象的内容写入控制台? – Mouser 2015-02-07 11:34:13
@Mouser,loans,prevObject:m.fn.init [1],context:document,selector:“Loans”,jquery:“1.11.1”,构造函数:function,这是我的chrome控制台显示的第一行,如果你想知道贷款,这就是我的数据,它就像一个不同的内容,它有很多嵌套的属性 – 2015-02-07 11:43:56
那么你去。它只包含一个对象。 – Mouser 2015-02-07 11:44:42