按名称选择器,在我的类名 jQuery 的框中
Posted
技术标签:
【中文标题】按名称选择器,在我的类名 jQuery 的框中【英文标题】:Selector by name, in box with my class name jQuery 【发布时间】:2014-06-22 15:31:21 【问题描述】:如何指定仅在特定类中按输入名称从输入中获取所有值?
例如,如果我尝试从名为“album_id”的所有输入中获取值,我已经设置了
$("input[name='album_id']").val()
它可以工作,但如果我想显示所有输入,它只在带有“照片”类的框中,我试着写
$(".photo").find("input[name='album_id']").val()
或
$(".photo > input[name='album_id']").val()
而且这种结构不起作用。但顺便说一句,当我从类为 'foo_wrapper' 的块中获取所有名为 'foo' 的类并设置
$('.addPhoto_wrapper').find('.alb_btn')
而且它工作正常。
那么为什么不做同样的建筑呢?
小提琴示例: http://jsfiddle.net/V2e3r/
【问题讨论】:
你能展示你的 html 并创建一个小提琴吗? 我试过同样的情况,它在我身边工作......你能分享一下 JSfiddle 吗 是的,没问题,请稍等。 :) 你能做JSFiddle吗..如果不能,你可以发布你正在使用的html结构 查看 JSfiddle ...我没有找到任何 class="addPhoto" 的 div ... 【参考方案1】:问题在于您查询所有输入及其选择器的方式。假设代码如下:
<div class="photo">
<input type="text" name='album_id' value="1"/>
<input type="text" name='album_id' value="2"/>
<input type="text" name='album_id' value="3"/>
</div>
<input type="text" name='album_id' value="4"/>
那么选择这些输入的方法是这样的:
var inputCollection = $('.photo input[name="album_id"]');
$.each(inputCollection, function(key, value)
console.log(value);
);
演示:http://jsfiddle.net/a7LqP/ 我希望这对你来说是一个开始。
编辑:我忘了提 - 在遍历集合中的所有输入时,引用 $(this) 而不是 value 将返回当前输入的 jQuery 对象。
【讨论】:
谢谢,但不是,我没有,也不需要很多名称为“album_id”的输入,我知道我需要进入循环的数组。我只有一个名称为“album_id”的输入,并且在带有类.alb_btn
的单击按钮上,我需要从单击按钮的数据属性中为名称为album_id
的此输入设置新值。以及选择器中的问题,我想严格表明更改值只需要输入名称album_id
仅在类“.photo”中。
和选择器中的问题,只是我没有正确设置它。例如,使用该构造var test_val = $("input[name='album_id']").val();
一切正常,使用该构造不起作用var test_val = $(".addPhoto").find("input[name='album_id']").val();
但是如果我只是离开第一个示例,没有严格说明我需要从哪个类按名称获取值,将来我会遇到名称为album_id 的乘法输入的问题【参考方案2】:
如下使用:
var inputCollection = $('.photo').find($('input[name="album_id"]'));
$.each(inputCollection, function(key, value)
console.log(value);
);
DEMO
【讨论】:
以上是关于按名称选择器,在我的类名 jQuery 的框中的主要内容,如果未能解决你的问题,请参考以下文章