我似乎无法在数组中推送新数据,然后使用新数据更新输出字段。可能是一个明显的问题,但不是我的新手技能。
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<script src="jquery-2.1.1.min.js"></script>
<title>VB</title>
</head>
<body>
<output id="crumMenuOutput"></output>
<br /><br />
<button type="button" id="test">Ny takst</button>
<script>
$(document).ready(function(){
var menuArray = new Array;
menuArray.push("test1"); // add test data to array
$("button").click(function() {
menuArray.push("test2"); // fail to add data on button click
alert($(this).attr('id')); // just at test to see function working
});
这应该用更多条目更新OUTPUT字段
if(menuArray.lenght !== 0){
$.each(menuArray, function(i, val) {
if(i == menuArray.length - 1) var spacer = ""; else var spacer = " > ";
$('#crumMenuOutput').append(val + spacer);
});
}
});
</script>
</body>
</html>
答案 0 :(得分:0)
您只需在更新后显示新内容。它目前在点击之外,因此只会被调用一次:
JSFiddle:http://jsfiddle.net/r7jck/
$(document).ready(function () {
var menuArray = new Array;
menuArray.push("test1"); // add test data to array
$("button").click(function () {
menuArray.push("test2"); // fail to add data on button click
alert($(this).attr('id')); // just at test to see function working
if (menuArray.lenght !== 0) {
$.each(menuArray, function (i, val) {
if (i == menuArray.length - 1) var spacer = "";
else var spacer = " > ";
$('#crumMenuOutput').append(val + spacer);
});
}
});
});
实际上看起来你的代码部分缺失了(在中间)?您可能希望澄清此代码的预期目标。