[英]Don't show array elements
我有一个要在模式中显示的数组。
数组确实具有我测试过的元素,但未出现在模式中。
这是代码:
<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>
PS:如果我放:
<script>
function LoadItems() {
(var j = 0; j < 5; j++) {
document.write(j);
}
}
</script>
它显示了“ 01234”,但是当我放置数组时,它什么也没有显示。
<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
;
此外,您的数组是空的,请把你的东西像数组中
var items_selected = [1,2,3,4,5];
您当前的代码遍历数组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
变量。
您最初将循环退出条件i设置为0。结果,循环将永远不会运行。 也就是说,您实质上是在说:
for(var j=0; j < 0; j++){
//j is never < 0 so this code never runs
}
您的第二个示例将其删除,并将循环退出条件硬编码为期望值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.