我有像
这样的HTML<div id="MAC_Allocation_Heading">
<span style="position:relative;left:2%;">
MAC Allocation
</span>
<span style="position:relative;left:9%;">
<label>Quantity</label>
<input type="text" style="width:40%" name="txtMACNeededAllocations"/>
</span>
</div>
现在我的.js文件中有一个全局数组
var user_entry = [$("#MAC_Allocation_Heading input[type=text]:first")]
并在FormValidate()中我有以下代码
function FormValidate() {
console.log(user_entry[0].val());
}
我运行应用程序并在文本框中输入值。但我得到的控制台输出为'undefined'
。
如果我将数组“user_entry”放在函数中,那么我就能得到文本框值
是什么原因?
我希望将这个数组保持全局,因为它也将被其他函数使用
答案 0 :(得分:0)
试试这个:
var user_entry = [];
function FormValidate()
{
alert(user_entry[0].val());
}
$(document).ready(function()
{
user_entry = [$("#MAC_Allocation_Heading input[type=text]:first")]
})
通过这个你可以实现“我希望将这个数组保持全局,因为它也会被其他函数使用”。
答案 1 :(得分:0)
我按照上面的评论得到了这个问题
我在$(document).ready(function(){...})中初始化了数组;
这解决了我的问题
问题是我在标记之前包含了.js文件,以便在完全加载DOM之前我尝试获取对象的引用,这显然是空的