0

我有具有相同 ID 的元素(图像按钮)...例如:

<input type="image" id="butt" src="zzz.jp" />
<input type="image" id="butt" src="zzz.jp" />
<input type="image" id="butt" src="zzz.jp" />

并想了解 jQuery 单击了哪个按钮,例如:

$("#butt").live('click', function(){
    var i ='';
    alert('button '+i+' clicked');
});

其中变量“i”需要是被点击的按钮的索引或编号。

如何获取单击了哪个按钮?

4

2 回答 2

3

首先你应该使用class而不是id,因为id 必须是唯一的

然后你可以jquery.index function用来获取点击了哪个按钮

$(".captcha_dwn").live('click', function(){
    var index=$(this).index();
    alert('button '+index+' clicked');
});

Jquery v 1.9 .live()开始,您应该使用.on()代替,

$(".captcha_dwn").on('click', function(){
    var index=$(this).index();
    alert('button '+index+' clicked');
});

文档http://api.jquery.com/index

于 2013-06-20T16:44:10.247 回答
1

除了我上面的评论之外,还有另一种方法来做 Rohan Kumar 建议的事情:

这是一个现场 jsFiddle 示例

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

        <script type="text/javascript">
            $(document).ready(function() {

                $('.butn').click(function() {
                    var bid = $(this).attr('id');
                    alert(bid);
                });

            }); //END $(document).ready()

        </script>
    </head>
<body>

    <input type="image" class="butn" id="b1" src="zzz.jp" />
    <input type="image" class="butn" id="b2" src="zzz.jp" />
    <input type="image" class="butn" id="b3" src="zzz.jp" />

</body>
</html>
于 2013-06-20T16:52:10.830 回答