Javascript 单个数组[0]项返回未定义项
所有的开发者都比我聪明 所以基本上我有一个名字(first)输入字段,我想让用户在输入中输入他们的名字和姓氏。之后,我想取第二个值(姓氏)并将该值推送到另一个Javascript 单个数组[0]项返回未定义项,javascript,jquery,arrays,Javascript,Jquery,Arrays,所有的开发者都比我聪明 所以基本上我有一个名字(first)输入字段,我想让用户在输入中输入他们的名字和姓氏。之后,我想取第二个值(姓氏)并将该值推送到另一个隐藏(display:none)的输入中。因此,理论上,下面的代码应该可以做到这一点 var array = []; var fullname = $("#firstName").value.split(" "); array.push(fullname); $("#lastName").value = array[1]; aler
隐藏(display:none)
的输入中。因此,理论上,下面的代码应该可以做到这一点
var array = [];
var fullname = $("#firstName").value.split(" ");
array.push(fullname);
$("#lastName").value = array[1];
alert(array[1])
例如,我在firstName输入中输入“First-Last”作为名称值,然后拆分并推送到数组中,如果我向它发出警报
警报(数组)或$(“#lastName”)。value=array
,它会推送正确的值,但是当我尝试仅警报或设置数组[1]的第二部分时,它会一直返回为未定义!?请告诉我我的朋友们 首先,jQuery使用val()
方法检索表单元素的值。尝试访问值
属性将不会返回任何结果
除此之外,您的问题是因为您正在通过将split()
(即数组)的结果推入array
来创建嵌套数组:
var fullname=$(“#firstName”).val().split(“”);
var数组=[];
array.push(全名);
console.log(数组)
您有一些语法问题,如:
var array = [];
var fullname = $("#firstName").val();
array=fullname.split(" ");
$("#lastName").val(array[1]);
alert(array[1]);
您希望将数组值推送到数组,而不是
array.push(fullname)代码>,使用
array.push.apply( array , fullname);
或
在代码中,使用$(“#lastName”).val()
而不是$(“#lastName”).value
。您正在使用数组[]
而不是数组构造函数()。例如:var a=array[1]
返回1
,表示a的值
=1
请检查链接:使用.val()
而不是.value
?您的数组将类似[[“the”,“splitted”,“value”]
。您需要使用array=fullname
而不是push()
不需要array
变量fullname
是您想要的数组,fullname[1]
是他们的姓…还有val(fullname[1])
而不是value=fullname[1]
。这个脚本根本不应该工作.value
将未定义
因此.value.split(“”
将抛出类型错误…除了删除value
,您还没有更改有缺陷的逻辑。当原始空数组定义不存在时,有点过于复杂used@RoryMcCrossan我知道,但你已经给出了明确的答案:)没问题,很高兴为您提供帮助。您的第二个声明和链接相互矛盾。还请注意,[]
是新数组()的快捷方式,因此您认为两者之间存在的任何差异都是错误的。
array = array.concat(fullName);