有没有办法选择父表单的输入作为id指定的子项?

时间:2010-07-18 21:30:54

标签: jquery

嘿伙计们,快速提问,

我有一个在我的一个页面上多次应用的ID(我使用了多个重复的ID,因为我还应用了一个类来确定图标是否是某种颜色,而不是只复制每个按钮颜色的id css )。我正在使用一个jquery表单处理程序,它在表单提交时启动,我想在提交按钮中添加一个属性,但由于在同一页面上有另一个具有相同ID的按钮,我很难让它工作。有没有办法按父表单的id选择输入?

例如(我知道这是错的,但这是我想要实现的,在这个例子中很重要)

$("form#invite").submit(function() {


$(this).("#buttonid").attr({ disabled:true, value:"Sending..." });

3 个答案:

答案 0 :(得分:1)

这应该可以解决问题。

$("form#invite").find("#buttonid").attr({ disabled:true, value:"Sending..." });

答案 1 :(得分:1)

你应该真的想找到一种方法来保持id的独特性。就像使用类名或根本不命名它们一样。在任何情况下,这里都是你的答案问题:

$("form#invite").submit(function() {
    $(this).find("#buttonid").attr({ disabled:true, value:"Sending..." });
}

答案 2 :(得分:1)

HTML文档中的id属性must be unique。具有相同ID的多个元素将使您感到悲伤,在某些浏览器中比在其他浏览器中更多。

要回答您的问题,您可以使用find()或选择器上下文:

// Selector context, supplying the current element as the second argument:
$("#buttonid", this).attr({ disabled:true, value:"Sending..." });

// find()
$(this).find("#buttonid").attr({ disabled:true, value:"Sending..." });