javascript
  • jquery
  • 2013-08-22 4 views 1 likes 
    1

    내부에서 작동하지 않는 동안 나는 다음과 같은 코드를 가지고 : 나는 버튼을 클릭하면루프 증가 값이 함수

    <?php 
    $i = 5; 
    while($i > 0){ 
    echo " 
    <input type = 'submit' value = '$i' id = '$i'> 
    "; 
    $i--; 
    } 
    ?> 
    <script type = 'text/javascript' src = 'js/jquery.js'></script> 
    <script type = 'text/javascript'> 
    $(document).ready(function(){ 
    var i = 5; 
    while(i > 0){ 
    $('#'+i).live('click',function(){ 
    alert(i); 
    }); 
    i--; 
    } 
    }); 
    </script> 
    

    는 자바 스크립트 내가 클릭 버튼의 ID를 경고해야합니다. 그러나 어느 버튼을 클릭해도 경고창은 0입니다. while 루프 증분 값이 함수 내부에서 작동하지 않는다고 생각합니다. 이드는 어떻게해야합니까?

    +1

    종결 변수 !!!! –

    답변

    1

    변수 i 중 일부는 closurescope입니다.

    $(document).ready(function(){ 
        var i = 5; 
        while(i > 0){ 
         (function(idx){ 
          $('#'+idx).live('click',function(){ 
           alert(idx); 
          }); 
         })(i) 
         i--; 
        } 
    }); 
    
    +0

    고마워요 .. 정말 고마워요 .. – user1763032

    관련 문제