标头:

<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");,则会将deleteID传递给$post,并且该条目将从数据库中删除。

最佳答案

这是因为deleteID拼写错误,JavaScript变量区分大小写。您用小写的d声明deleteId

应该这样做:

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

关于php - 未捕获的ReferenceError:JQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9348565/

10-09 16:32