使用类和数据属性在.each()循环中创建选择器

时间:2019-01-24 02:58:31

标签: jquery

我正在尝试查找页面上三个字段(输入,选择和文本区域)的值。我正在使用jQuery隐藏和显示每个部分上具有相同字段的多个标签。

免责声明:我在下面宽松地使用对象一词。我不确定100%是否了解整个概念,但我想我理解了。

我已经在控制台中尝试了以下操作,它返回了一个对象,其中包含我想要的特定字段(我知道返回的对象正确,因为我还有另一个具有匹配ID号的“数据线”属性到我要显示的部分)。

$(".checkFields:visible").each(function() {
  var test = $(this);
  console.log(test);
});

因此,我认为下面的内容将使我更接近该值,但它返回的对象完全相同:

$(".checkFields:visible").each(function() {
  var test = $(this).attr("data-field").val();
  console.log(test);
});

我还尝试了以下方法,试图将它们逐一运出,但没有运气。

var test = $('.checkFields:visible[data-field="operation"]');
console.log(test);

我不确定100%应该包含在初始对象中,但是对我来说这似乎是正确的(运行前两个查询时控制台中的运行情况。

Object 
{ 0: input.checkFields.form-control, 1: select.checkFields.form-control, 2: textarea.checkFields.form-control, length: 3, prevObject: {…}, context: HTMLDocument http://myWebsite/myWebpage.php?id=29001, selector: ".checkFields:visible"}

如何返回具有我的类且可见且具有指定数据字段值的字段的值?

1 个答案:

答案 0 :(得分:0)

根据评论,以下内容有效:

var value = $('.checkFields:visible[data-field="operation"]').val();
console.log(value);

返回我的值='asdf'

$('.checkFields:visible[data-field]').each(function() {
    field = $(this).data("field");
    value = $(this).val();
    console.log(field+": "+test);
});

返回我所有的值。 操作:adsfsda 工作中心:adsfsda 操作说明:adsfsda

我觉得我确实尝试过这些,但我想没有。我想是漫长的一天。