2013-04-10 1 views
0

Я новичок в jquery. У меня есть класс под названием «xxx», внутри которого добавляется набор кнопок с именем класса «YYY» с изменением значений id для каждой кнопки через ajax-вызов.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> 

Теперь я получить значения идентификаторов кнопок «на» кнопку. Поэтому я использовал

$(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 здесь})' –

ответ

1

Вы должны использовать this для обозначения щелкнули элемента:

var id = this.id; 

У вас также есть несколько синтаксических ошибок в ваших .ready() и .on() функций, правильный синтаксис:

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

Прекрасно работает :) :) –

0

У вас ошибка в document.ready. Вы пропустили кронштейн в функции там () и в вашем событии click ....

Попробуйте это;

$(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

Awesome! Работает отлично! Большое спасибо! :) –

+0

Отлично! Рад, что это помогло. – Jai

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 атрибута элемент.