我想在一个模态中显示一个数组。
阵列确实有我测试过的元素,但它并没有出现在模态中。
这是代码:
<script>
var selected_items = [];
var i = 0;
function LoadItems() {
for(var j = 0; j < i; j++) {
document.write('<li>' + skins_selected[j] + '</li>');
}
}
function UpdateArray(name)
{
selected_items[i] = name;
i++;
}
</script>
<div class="modal fade" id="modalItems" tabindex="-1" role="dialog" aria-labelledby="labelItems">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="labelItems">¿Confirma que desea depositar los siguientes items?</h4>
</div>
<form class="form-inline" role="form">
<div class="modal-body">
<div class="form-group">
<ul>
<script>
LoadItems();
</script>
</ul>
</div>
</div>
<div class="modal-footer">
<button onclick="mostrar()" class="btn btn-info">Depositar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</form>
</div>
</div>
</div>
P.S:如果我说:
<script>
function LoadItems() {
(var j = 0; j < 5; j++) {
document.write(j);
}
}
</script>
它显示了我&#34; 01234&#34;,但是当我放置数组时它并没有向我显示任何内容。
答案 0 :(得分:0)
@javascript
&#13;
您的循环未执行,因为<ul>
<script>
var selected_items=[1,2,3,4,5];
var i = 5;
function LoadItems() {
for(var j = 0; j < selected_items.length; j++) {
document.write('<li>' + selected_items[j] + '</li>');
}
}
LoadItems();
</script>
</ul>
位于for(var j = 0; j < i; j++)
,因此j=0 and i=0
可能就是这样。
您应该声明j < i
而不是i = 5
;
此外,您的阵列是空的,请在您的阵列中添加一些内容,如
i = 0
答案 1 :(得分:0)
您当前的代码循环遍历数组i
次。但是,在上一行i
设置为0.所以它循环0次,这就是为什么你什么都没有显示。
我假设您希望它循环遍历数组中的所有项目,无论如何 有许多元素。在这种情况下,您应该使用skins_selected数组的.length属性:
function LoadItems() {
for(var j = 0; j < skins_selected.length; j++) {
document.write('<li>' + skins_selected[j] + '</li>');
}
}
您可以完全取消i
变量。
答案 2 :(得分:0)
您最初将循环退出条件i设置为0.因此,您的循环将永远不会运行。即你基本上是在说:
for(var j=0; j < 0; j++){
//j is never < 0 so this code never runs
}
您的第二个示例将其删除并将循环退出条件硬编码为预期值。