$.noConflict();
jQuery(document).ready(function($){
var queuesArr = new Array();
var i;
for (i = 0; i < document.getElementById('qbeansLength').value; i++){
queuesArr[i] = document.getElementById('queueID'+i).value}
var data = [
{
label: ' Queues',
children: [
//I need to write the for loop here and make it like this {label: queuesArr[i] } but it is a variable
{ label: document.getElementById('queueID1').value },
{ label: queuesArr[2] }
]
},
{
label: 'node2',
children: [
{ label: 'child3' }
]
}
];
$(function() {
$('#tree1').tree({
data: data
});
});
});
大家好。我是javascript的新手。我需要在网页上打印一棵树。我使用this widget。我需要在变量中编写for循环,但它是一个变量,所以我认为这是不可能的。请帮帮我,我的问题有解决方案吗?问题是我从另一个jsp页面动态获取元素,因此子元素的数量和数组元素的数量都有所不同。
答案 0 :(得分:2)
你的意思是这样的吗?
$.noConflict();
jQuery(document).ready(function($){
var data = [
{
label: ' Queues',
children: [
// Filled in below
]
},
{
label: 'node2',
children: [
{ label: 'child3' }
]
}
];
var queuesArr = new Array();
var i;
var qbeansLength = document.getElementById('qbeansLength').value;
for (i = 0; i < qbeansLength; i++) {
data[0].children.push({label: document.getElementById('queueID'+i).value});
}
$(function() {
$('#tree1').tree({
data: data
});
});
});
答案 1 :(得分:2)
要创建对象数组,请更改for循环以使用push()。
var myArr = [];
for (i = 0; i < document.getElementById('qbeansLength').value; i++){
myArr.push( {"label" : document.getElementById('queueID'+i).value });
}
只是引用它
var data = [
{
label: ' Queues',
children: myArr
},