0

我是 jquery 的新手。我的要求是在 jquery 函数中传递 rowid(表中每条记录的唯一 id)。我只能在运行时获得 rowid。那么如何将点击事件绑定到 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;
});
4

4 回答 4

0

如果 id 动态来自服务器,则在函数中为 id selctor 放入相同的 id + hash

$(what to pass here) => $("'#" + string(rowid(Gatepass)) + "'")
于 2012-05-21T13:04:54.353 回答
0

如果 ID 之间有任何相似之处,您可以使用属性选择器之一,例如:

标识包含

$('[id*="something"]')

身份证开头

$('[id^="something"]')

http://api.jquery.com/category/selectors/

更好的方法是将所有动态命名的锚点放入容器中,然后对其进行选择:

<div id="container">
    <a ...></a>
    <a ...></a>
</div>

然后您将选择所有子锚点:

$('#container > a').click(...);
于 2012-05-21T13:05:09.370 回答
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
}
于 2012-05-21T13:06:53.137 回答
0

获取 id ,并根据 id 做任何你想做的事

  $('a').on('click',function(){

    var id = $(this).attr('id');

   if(id == //what you want)
   {
      //function 1
   } 
   else
   {
      //function 2
   }     

    return false;

    });
于 2012-05-21T13:24:34.123 回答