标头:
<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/