0

首先,我有多个由 php 生成的动态按钮。例子:

<button id='btn' type='submit' name='btn' value='recordnumber5' title='deletefromtableA'>delete</button>
<button id='btn' type='submit' name='btn' value='recordnumber50' title='deletefromtableA'>delete</button>
<button id='btn' type='submit' name='btn' value='recordnumber15' title='deletefromtableA'>delete</button>
<button id='btn' type='submit' name='btn' value='recordnumber35' title='deletefromtableA'>delete</button>

现在我需要在调用 jquery 时向 jquery 传递/获取值

$("#btn").click(function(){
   var tit=("$btn").attr("title");
   var val=("$btn").attr("value");
   alert(tit +":"+ val);
});

我的问题是,它只对第一个按钮起作用,其他按钮不起作用。我知道我的代码有问题,但我应该如何编写,以便我可以有多个动态按钮,但调用/使用 1 个 jquery 脚本,它可以从该按钮接收数据。

顺便说一句,我在谷歌和这里搜索过,但我找不到和参考,可能我不知道什么是正确的搜索关键字。

Ps:如果可能的话,我希望将 jquery 放入函数并保存到 js.file 无论如何,感谢您的帮助。

4

2 回答 2

3

id值在文档中必须是唯一的。因此,jQuery 只返回带有 that 的第一个元素idid将属性更改为class属性,并修改您的选择器:

$(".btn").click(function(){
   var tit = this.title;
   var val = this.value;
   alert(tit +":"+ val);
});

还要注意回调函数的变化。你所拥有的不会起作用(你错过了$实际调用 jQuery 的方法),如果你修复了这个错误,选择器就没有意义了。您可以使用this来引用已单击的元素。

于 2012-06-30T17:59:39.373 回答
1

您需要使用类而不是 id。id 元素在整个 DOM 中是唯一的。

<button class='btn' type='submit' name='btn' value='recordnumber5' title='deletefromtableA'>delete</button>
<button class='btn' type='submit' name='btn' value='recordnumber50' title='deletefromtableA'>delete</button>
<button class='btn' type='submit' name='btn' value='recordnumber15' title='deletefromtableA'>delete</button>
<button class='btn' type='submit' name='btn' value='recordnumber35' title='deletefromtableA'>delete</button>

和适当的javascript

$(".btn").click(function(){
    var tit=this.title;
    var val=this.value;
    alert(tit +":"+ val);
});
于 2012-06-30T18:06:09.163 回答