单击按钮时,在表单中获取其他类的属性

时间:2012-12-05 07:44:41

标签: jquery

当我点击删除按钮时,如何在jquery中获取art-no的值?

<form id="artForm" method="post">
<input type="hidden" name="sequence" value="27" art-no="27">
<input type="button" value="Delete" class="delete" id="submitbutton">
</form>

使用这样的jQuery:

$(".delete").click(function() {
alert (".sequence").attr("art-no");
return false;
});

这实际上应该有效,但我一直在警报框中获得.sequence。是因为它被隐藏了吗?

2 个答案:

答案 0 :(得分:4)

首先,这是有效的解决方案:

$(".delete").click(function() {
    alert ($("[name='sequence']").attr("art-no"));
    return false;
});

我有一些建议;

  • 该隐藏字段没有类名,因此您无法使用.sequence作为选择器,您必须使用[name='sequence'],或者您可以将sequence类赋予它并使用它{{ 1}}
  • 您可以使用.sequence属性和.data(),而不是自己构建属性,而是像data一样使用它,并像data-art-no="27"
  • 一样使用它
  • 最后,使用.data('art-no')的{​​{3}}内容。

以下是您修改后的代码:

return false

答案 1 :(得分:3)

在输入中添加class="sequence",现在只有一个名称,然后替换

alert (".sequence").attr("art-no");

alert ($(".sequence").attr("art-no"));

或更好

alert ($(this).prev(".sequence").attr("art-no"));

如果你多次使用sequence类(这通常是使用类而不是id的原因),为了确保你有正确的元素。

如果您不想添加类或ID,则选择器将为input[name=sequence]

alert ($("input[name=sequence]").attr("art-no"));