编辑:我原来的问题太模糊,包含太多子问题。我已经编辑了原文,专注于更直接的问题。
我通过AJAX将名称列表加载到我的jquery代码中的空数组中。我可以让列表中的第一个出现,但在此之后没有任何内容出现。我运行了一个测试,只有前两个名字出现在我的屏幕上,但是在第一个名字之后我没有得到任何东西,而Firefox并没有向我显示任何错误。我真的很感激任何帮助。
.html代码:
<form id="memberNames">
<label>Member #:</label>
<select class="idNum">
</select>
<label>Member Name:</label>
<span class="idName" num="0"></span>
<label>Member #:</label>
<select class="idNum">
</select>
<label>Member Name:</label>
<span class="idName" num="1"></span>
.js代码:
var memList = new Array ();
// This code produces the Member #'s in the select tag
for (var i = 200; i <= 299; i++) {
$(".idNum").append("<option>" + i + "</option>");
}
$.ajax({
mimeType: 'text/plain; charset=x-user-defined',
url:"memName.txt",
type: "GET",
dataType: "text",
success: function (data) {
memList = data.split("\n");
for (var m = 0; m <= memList.length; m++) {
return $('.idName[num="' + m + '"]').html('<input type="text" name="memberName" value=' + memList[m] + '>');
}
}
});
.txt文件:
---
约翰D. 简D. 詹姆斯B.
米奇M.
等...
答案 0 :(得分:0)
我认为你有一些问题,但在飞行中测试有点困难,所以请原谅我,如果这不是100%准确的话。希望它会让你走上正确的道路。
首先,您要对"\n"
的字符文字进行拆分,这意味着它会在您的文字中寻找\n
。如果您希望它找到\n
,您的文本文件应该看起来像John D.\nJane D.\nJames B.\nMickey M.
。另一方面,如果你想让它找到一个新的行字符,你应该在/\n/
的正则表面上进行拆分(参见this Q&A)。
接下来,您可能会在AJAX函数之外初始化memList
变量时遇到问题(请参阅this A from the same Q)。
我建议尝试一种解决方案,然后另一种解决方案,如果它们都不能单独使用,也可以一起尝试。
最糟糕的情况是,您可以在成功函数中使用代码中的断点(如果您使用Chrome,则可以在任何行上键入debugger;
,它会自动创建断点在你的代码到达那一行时)。然后你可以使用&#39;控制台&#39;使用您返回的值data
来查看您从通话中获得的内容并尝试将其切成阵列。
答案 1 :(得分:0)
我只是在乱搞的时候偶然修好了它!
在我的原始代码中,我有这个:
for (var m = 0; m <= memList.length; m++) {
return $('.idName[num="' + m + '"]').html('<input type="text" name="memberName" value=' + memList[m] + '>');
}
事实证明,return
并不需要在那里,并且循环的第二个参数需要小于不可能等于长度。所以现在的代码是:
for (var m = 0; m < memList.length; m++) {
$('.idName[num="' + m + '"]').html('<input type="text" name="memberName" value=' + memList[m] + '>');
}