所以,我今天在涉及一些jQuery,我遇到了一个问题。我有一个页面,其中包含以下格式的多个链接:
<a class="a_link" id="a_id<#>" href="#">Click me</a>
其中<#>
是在运行页面的PHP中的for循环中生成的数字。在页面顶部,我有一个脚本标记链接到谷歌CDN,最小化jQuery 1.7.2,以及id为“form_map”的div。显示所有链接后,我有以下脚本:
<script type="text/css">
$(document).ready(function(){
$('.a_link').click(function(){
var c_id = $(this).attr('id');
var task = 'read';
var ajax_url = 'engine.php';
alert('link pressed for id: '+c_id);
$.get({
url: ajax_url,
data: { 'task':task, 'c_id':c_id },
success: function(res){ $('#form_map').val(res); }
});
});
});
</script>
忽略所有那些不稳定的Ajax调用(也似乎无法正常工作),当我点击链接时没有任何反应。它甚至没有运行脚本。我通过设置断点并添加警报来测试它。似乎没有什么能够触发这一点。
有关我做错的任何建议吗?
答案 0 :(得分:9)
使用:
<script type="text/javascript">
而不是:
<script type="text/css">
也可以使用:
$('#form_map').html(res);
而不是
$('#form_map').val(res);
答案 1 :(得分:4)
您可能想要修复开始标记
<script type="text/css">
到
<script type="text/javascript">
答案 2 :(得分:3)
您需要在传入函数的末尾返回false .click()。
$('.a_link').click(function() {
// Your AJAX stuff here.
return false;
});
返回false会使链接继续正常工作。