我是jquery的新手。我的要求是在jquery函数中传递rowid(表的每个记录的唯一id)。我只能在运行时获得rowid。那么如何将click事件绑定到id为此rowid的标记。
<a href="javascript:void(0)" id="`string(rowid(Gatepass))`">Upd</a>
<a href="javascript:void(0)" id="`string(rowid(Gatepass))`">Del</a>
$(what to pass here).bind('click',function(ev) {
_operation(para1,para2); // function which is going to perfom action
ev.preventDefault();
return false;
});
答案 0 :(得分:0)
如果id来自服务器动态,则在函数内部为id selctor设置相同的id + hash
$(what to pass here) => $("'#" + string(rowid(Gatepass)) + "'")
答案 1 :(得分:0)
如果ID之间有任何相似之处,您可以使用其中一个属性选择器,例如:
ID包含
$('[id*="something"]')
ID以
开头$('[id^="something"]')
http://api.jquery.com/category/selectors/
更好的方法是将所有动态命名的锚点放入容器中,然后选择:
<div id="container">
<a ...></a>
<a ...></a>
</div>
然后你会选择所有子锚:
$('#container > a').click(...);
答案 2 :(得分:0)
很难从如此少的HTML代码中找到一个好的选择器。如果可能,请在您的标记上使用类:
<a class="roww" href="javascript:void(0)" id="`string(rowid(Gatepass))`">Upd</a>
<a class="roww" href="javascript:void(0)" id="`string(rowid(Gatepass))`">Del</a>
然后您可以使用$('。roww')来查询您的节点。
以下是从事件处理程序获取id的方法:
function( ev ) {
//wrap the element with jQ:
var jel = $(this);
//Then access attributes with .attr() getter:
var id = jel.attr('id');
... //do whatever you want now.
... // there's a quicker alternative to get the id without jQuery, simply:
... // var id = this.id
}
答案 3 :(得分:0)
获取id,并根据id做你想做的任何事情
$('a').on('click',function(){
var id = $(this).attr('id');
if(id == //what you want)
{
//function 1
}
else
{
//function 2
}
return false;
});