Fiddle here 。但它没有显示任何内容。我不明白为什么。
<小时/>二维数组的结构类似于:
数组 ( [0] => 数组 ( [0] => 姓名 1 => 年龄 [2] => CGPA ) 1 => 数组 ( [0] => Alex 1 => 23 [2] => 2.5 ) [2] => 数组 ( [0] => 鲍勃 1 => 24 [2] => 3 ) [3] => 数组 ( [0] => 迈克 1 = > 22 [2] => 3.9 ) )
我们需要将该数组中的数据加载到YUI 模块中创建的数据表中。
因此,根据我从努力中获得的理解,我认为我们不能在 YUI 模块 block 内编写循环或代码。(如果我错了请告诉我)否则很容易,我可以简单地使用 for 循环。
我仍然知道我需要在这里使用 for 循环。但我不知道如何创建逻辑,因为我无法将代码插入到 YUI 模块的代码块中。 代码如下。
为了便于理解,我通过引用给定数组的索引插入了数据。它工作得很好,但我们不能使用像 0 1 2 3
等索引,因为我们不知道 2D 数组
和 1D 数组的长度是多少它包含的数组。 有人可以帮我解决这个问题吗?
M.mod_quiz.init_dataTable = function(Y, params) {
var $rowArray= params.key1;
alert($rowArray.length);
/*for (i=0; i<$rowArray.length; i++) {
for (j=0; j<$rowArray[0].length; j++) {
}
}*/
YUI().use("datatable-sort", function(Y) {
var cols = [
/*for (i=0; i<$rowArray.length; i++) {
{key:"Column "+i , label: $rowArray[0][i] , sortable=true}
}*/
{key:"Company", label:$rowArray[0][0], sortable:true},
{key:"Phone", label:$rowArray[0][1], sortable:true},
{key:"Contact", label:$rowArray[0][2], sortable:true}
],
data = [
{Company:$rowArray[1][0], Phone:$rowArray[1][1], Contact:$rowArray[1][2]},
{Company:$rowArray[2][0], Phone:$rowArray[2][1], Contact:$rowArray[2][2]},
{Company:$rowArray[3][0], Phone:$rowArray[3][1], Contact:$rowArray[3][2]}
],
table = new Y.DataTable({
columns: cols,
data : data,
summary: "Contacts list",
caption: "Table with simple column sorting"
}).render(params.key2);
});
};
最佳答案
看起来您想要创建一个 DataTable
对象,但您的要求是构造函数的命名 columns
属性必须是动态的,而不是静态的。对吗?
仅仅因为大多数 YUI 示例都显示 columns
属性是一个内联数组,并不意味着必须这样做。您可以动态构建它...
YUI().use("datatable-sort", function(Y) {
// Build the column definitions dynamically, based on the names in $rowArray[0].
var cols = [];
for (i=0; i<$rowArray[0].length; i++) {
cols.push( { key:$rowArray[0][i], label:$rowArray[0][i], sortable:true } );
}
var data = [
...
至于您提供的 JSFiddle(谢谢!),存在对姓名/年龄/CGPA 和公司/电话/联系人的引用的混淆。你需要解决这个问题。即使在那之后,JSFiddle 也会出现异常,但我已经没时间了。您可以使用浏览器的内置调试器来捕获异常并进行调试。
关于javascript - JS : How to make logic (using loops) to insert data into this table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25254941/