Javascript 无法访问输入文本字段值jQuery
我无法从以下HTML访问输入字段或任何动态创建的输入字段:Javascript 无法访问输入文本字段值jQuery,javascript,jquery,Javascript,Jquery,我无法从以下HTML访问输入字段或任何动态创建的输入字段: <div class="row"> <div class="input_fields_wrap" id="Categories"> <button class="add_field_with_subs">Add More Categories</button> <div class="input_fields"><input type="text" name="someI
<div class="row">
<div class="input_fields_wrap" id="Categories">
<button class="add_field_with_subs">Add More Categories</button>
<div class="input_fields"><input type="text" name="someInput"><a href="#" class="add_sub_field">Add Sub-Categories</a></div>
</div>
</div>
对于每个动态创建的字段,警报将相应地触发
但是,任何试图获取适当输入文本字段值的尝试都会产生“未定义”的响应
我试过.children(“输入”),.children(“输入”),.last(),。查找,等等
有谁能告诉我我做得不对吗?
子对象
只能遍历单个DOM级别,请使用查找
成功
$("#Categories").find("input").each( function(){
//your logic
});
$(this)
不是该上下文中的子对象,而不是div
?你的输入
没有子项。@zgood-如果它不是一个箭头函数就好了。@t.J.Crowder啊,好的,我还不习惯这种语法。虽然它是匿名函数的简写形式,但基本上:不要对每个
回调使用箭头函数(或者如果使用箭头函数,不要使用这个
,使用第二个参数每个
都传递它)。所以要么.each(function(){$(this)…})
要么.each({$(el)=>{$(el)…})
。还要注意,jQuery对象上的children
是一个函数,因此.children.length
可能应该是.children().length
。最后,如果您正在寻找输入,请考虑<代码> $(“*类别输入”)。每个(……)/代码>在代码< >类别> <代码>的输入上循环。问题中的<代码> div < /代码>是<代码>类别> /代码>的直接子集。问题是OP使用的是箭头函数。(我看到你改变了,但没有说出来。)@t.J.Crowder是的,想法是到达每个输入。但我同意,这不一定是OP的问题,因为它也可以处理子对象-$(“#Categories”).children(“div”).find(“input”).each()
似乎应该是$(“#Categories”).find(“input[type=text]”。each(函数(I,j){alert($(j.val());})代码>啊,是的,对不起。你说得很对,但是如果目标是找到输入
s,那么简单的$(“#类别输入”)
似乎是最直接的方法。:-)@RohitS我不确定OP是否要从dom查询中删除其他输入。
$("#Categories").find("input").each( function(){
//your logic
});