使用jquery对输入类型图像使用click事件

时间:2011-04-10 19:11:10

标签: jquery jquery-selectors

我使用ajax加载页面数据。我想在点击输入上运行一个函数,其类型为image,其id以'SubmitVote'开头,后跟一些整数。下面是代码,它正在工作。

$(function() {
    $('input:image[id^="submitVote"').live('click',function(){
        if(this.id.match(/^submitVote(\d+)$/)){
            var vote=$("#rtngCmb").val();
            var text=$("#userNote").val();
            var alertId=RegExp.$1;

            postVote(alertId, vote, text);
        }
    });
});

怎么做?

2 个答案:

答案 0 :(得分:3)

如果您无法修改标记以包含类,请尝试以下操作:

$('input[type="image"][id^="submitVote"]').live('click', function() {
    if (this.id.match(/^submitVote(\d+)$/)) {
        var vote = $("#rtngCmb").val();
        var text = $("#userNote").val();
        var alertId = RegExp.$1;

        postVote(alertId, vote, text);
    }
});

Simple example on jsfiddle

此外,您的选择器中缺少您最后]无效的原因。

答案 1 :(得分:1)

最好的办法是将所有以submitVote特定类

开头的图片提供给您
<input id='submitVote1' type='image' src='image.png' class='submit' />
<input id='submitVote2' type='image' src='image.png' class='submit' />

这样你就可以做到......

$('input.submit').live('click',function(){
        var vote=$("#rtngCmb").val();
        var text=$("#userNote").val();
        var alertId=RegExp.$1;
        postVote(alertId, vote, text);
});