伙计们我在jquery中遇到了通配符的问题。请尽可能帮助。
我正在使用类似jQuery的函数将点击绑定到id,例如。 proceed_10,proceed_11。现在,如果我第一次点击proceed_10,一切正常。但是,如果我再次单击id为proceed_10的图像,则执行两次。然后,如果我点击其他一些具有id proceed_5的继续图像,则执行三次。以下是要审核的次要代码段:
$("[id*='applybut_']").live('click',function(){
var idfinder = null; var currid = null;
idfinder = $(this).attr('id').split('_');
currid = idfinder[1];
$.ajax({
url: "someurl",
type: 'POST',
dataType: 'json',
data: {},
error: function(data){ },
success: function(data){
if(data.success == true)
{
messyhtml+= '<img src="'+proceedimgsrc+'" id="proceed_'+currid+'" style="cursor:pointer;">';
$("[id*='proceed_']").live('click',function(){
var foostr = $(this).attr('id').split('_');
var fooid = foostr[1];
var barid = $('input[name="bar_id"]:checked').val();
if(fooid != '' && barid != '') //This loops executes twice,thrice, and so on...
{
$.ajax({
url: "someurl",
type: 'POST',
dataType: 'json',
data: {'fooid':fooid,'barid':barid},
error: function(data){ },
success: function(data){
if(data.success == true) {
//
} else if(data.success == false) {
//
}
}
});
}
});
$(".popcontainer").html(messyhtml);
}
}
});
});
答案 0 :(得分:1)
这条线解决了我的问题:
$( “[ID * = '继续_']”)管芯();
答案 1 :(得分:0)
读取的行......
$("[id*='proceed_']").live('click',function(){
每次点击时都会执行...因为它嵌入在...的事件处理程序中
$("[id*='applybut_']").live('click',function(){
这样做的结果是,您正在为所有proceed_ *项目订阅多个(相同的)处理程序 - 每次单击apply_but_ *时都会使用一个。因此你的行为。