2013-08-12 1 views
0

мой код Jquery работает отлично, если я не держать код внутри функции и вызвать его, но как функция не работаетметод JQuery работает нормально, но когда сделано как функция не работает

<script> 
    $(document).ready(function(){ 
     $("input:radio").change(function(){ 
     checkResult(); 
     }); 
    }); 
     function checkResult() 
     { 
     $this=$(this).parent("div.QA"); 
     $this.slideUp(); 
     } 

</script> 

ответ

4

потому this внутри функции не относится к щелкнуло radio элемента, так как вы пишете его в качестве отдельной функции передать щелкнул элемент в качестве параметра

$(document).ready(function(){ 
    $("input:radio").change(function(){ 
     checkResult(this); 
    }); 
}); 
function checkResult(el) { 
    var $this = $(el).parent("div.QA"); 
    $this.slideUp(); 
} 
+0

ok проблема решена – TaraGurung

0

Передайте имя функции - checkResult в качестве обратного вызова, так что this будет повторно перейдите к измененному элементу.

$(document).ready(function(){ 
    $("input:radio").change(checkResult); 
}); 
function checkResult() 
{ 
    $this=$(this).parent("div.QA"); 
    $this.slideUp(); 
}