2013-04-10 53 views
0

我是jquery的新手。我有一个叫做“xxx”的类,里面添加了一组类名为“YYY”的按钮,通过ajax调用改变每个按钮的id值。方法上的jquery

例如

<div class="xxx"> 
</div> <!-- before ajax call --> 



<div class="xxx"> 
<input type="button" class="YYY" id="1"/> 
<input type="button" class="YYY" id="2"/> 
<input type="button" class="YYY" id="3"/> 
</div> 

现在我已经得到“上”按钮的ID值,请单击。所以我用

$(document).ready(function{ 

$('.xxx').on('click','.yyy',function({ 
    var id = $(this).attr('id'); 
}); 

}); 

但这是行不通的。即使我试过

$(document).ready(function{ 

$('.xxx').on('click','.yyy',function({ 
    var id = $('.yyy').attr('id'); 
}); 

}); 

这是每次点击返回第一个按钮的值。请帮助

+0

在您的代码片段中用于jquery回调函数的错误语法。正确的语法是'function(){// code here}',而您使用'function({// code here})' – 2013-04-10 07:16:29

回答

1

您需要使用this来引用点击的元素:

var id = this.id; 

也有几个语法错误在你的.ready().on()功能,正确的语法是:

$(document).ready(function() { 
    $('.xxx').on('click', '.yyy', function() { 
    var id = this.id; 
    }); 
}); 
+0

完美的作品谢谢:) – 2013-04-10 07:14:30

0

您在document.ready中发生错误。你错过了支架功能()和在你的点击事件....

试试这个;

$(document).ready(function(){ 
         //---^^ ---here 

$('.xxx').on('click','.yyy',function(){ 
          //--------^^---here 

所以它应该是

$(document).ready(function(){ 
$('.xxx').on('click','.yyy',function(){ 
    var id = $(this).attr('id'); 
}); 
}); 

休息你的第一个代码应该工作...

0

你必须在脚本中一些错别字:

$(document).ready(function{ //<----misssing '()' 

$('.xxx').on('click','.yyy',function({ //<---missing ')' after function 

您已经在选择器的上下文然后使用this.id$(this).attr('id')

$('.xxx').on('click','.yyy',function(){ 
    var id = $(this).attr('id'); // <---here $(this) is the clicked elem 
}); 

$('.xxx').on('click','.yyy',function(){ 
    var id = this.id; // <---here 'this' is the clicked elem 
}); 
+0

太棒了!完美的作品!非常感谢! :) – 2013-04-10 07:06:13

+0

太棒了!很高兴这有助于。 – Jai 2013-04-10 07:09:24

0

你有一个错字错误点击功能

$('.xxx').on('click','.yyy',function({ 
          ----------^ 

$('.xxx').on('click','.yyy',function(){ // it should be(){} 
    var id = this.id; 
}); 
0

尝试这种::

$(document).ready(function() { 
    $(".xxx").on("click", ".YYY", function(event){ 
     var id = $(this).attr('id'); 
    }); 
}); 

你用错误的语法来获取的ID属性元件。