这个想法很简单,当您访问同一页面网页时,您应该根据点击<a>
元素:曲目或集合来上传不同的文件。
但我的代码不起作用,有些想法吗?
页面网页中的html
<li id="sets"><a href="producciones.html" onclick="cargar('tracks.txt', '#p1')">Tracks</a></li>
<li id="sets"><a href="producciones.html" onclick="cargar('sets.txt', '#p1')">Sets</a></li>
脚本js中的JQuery + AJAX。
function cargar(arch, id){
$.ajax({
url:arch,
success:function(result){
$(id).html(result);
}
});
}
答案 0 :(得分:0)
在您的代码中,当按下链接时,将执行函数cargar()
,但也会重新加载页面。
尝试添加return false;
以阻止在浏览器窗口中打开页面。
<li id="sets"><a href="producciones.html" onclick="return cargar('tracks.txt', '#p1');">Tracks</a></li>
<li id="sets"><a href="producciones.html" onclick="return cargar('sets.txt', '#p1');">Sets</a></li>
和
function cargar(arch, id){
$.ajax({url:arch,success:function(result){
$(id).html(result);
}});
return false;
}
答案 1 :(得分:0)
href和内联JS onclick
之间可能存在问题。
您可以添加更多JQuery以避免内联脚本并执行以下操作:
<li id="sets-1" target="p1" url="tracks.txt">Tracks</li>
<li id="sets-2" target="p1" url="sets.txt">Sets</li>
$('[id^="sets-"]').each(function(){
$(this).click(function(){
var url = $(this).attr('url');
var target = $(this).attr('target');
$.ajax({
url:url,
success:function(result){
$('#' + target).html(result);
}
});
});
});