2012-02-19 17 views
0

헤더 :catch되지 않은 오류 ReferenceError : JQuery와

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> 
<script src="http://mysite.com/public/delete.js" type="text/javascript"></script> 

보기 :

<ol> 
<?php foreach($sqlplaces->result() as $place): ?> 
<li id="place-<? echo $place->id; ?>"> 
    <h3><?php echo anchor('/home/one/place/'.$place->id.'/'.$place->userid.'/'.$place->name, $place->name); ?> 
    <span style="float:right;"><a class="delete" id="<? echo $place->id; ?>" href="#"><img src="<? echo base_url(); ?>images/database_close_32.png" alt="Delete" /></a></span> 
    </h3> 
</li> 
<?php endforeach; ?> 
</ol> 

delete.js :

$(document).ready(function() { 

    $("a.delete").live('click', function() { 
      var deleteId = $(this).attr('id'); 
      $("li#place-" + deleteID).addClass("hide"); 

      $.post(base_url + "index.php/home/delete", { delid : deleteId }, function(data) 
      { 
        alert(data); 
      }, "json"); 

    return false; 
      }); 


}); 

나는 <li id="place-<? echo $place->id; ?>"> 요소를 숨기기 위해 노력하고하지만 난 알아낼 수 없습니다 왜 Uncaught ReferenceError : deleteID가 정의되어 있지 않은지 알 수 있습니다. $("li#place-" + deleteID).addClass("hide");을 제거하면 $postdeleteID이 전달되고 항목이 데이터베이스에서 제거됩니다.

답변

1

deleteID의 철자가 잘못 입력 되었기 때문에 JavaScript 변수는 대소 문자를 구분합니다. 소문자 d를 사용하여 deleteId으로 선언하십시오.

이 그것을 수행해야합니다

$("li#place-" + deleteId).addClass("hide"); 
+0

을 :)) 롤. 고마워, 난 엉덩이 같아. 나는 내가 그것을 알아 차리지 못했다고 믿을 수 없다. – Ciprian

+0

@ciprian 걱정하지 않아도, 새로운 눈을 가졌을 때 이러한 종류의 오류를 쉽게 발견 할 수 있습니다. 코드에서 터널 비전을 쉽게 얻을 수 있습니다. –

관련 문제