0

アイデアは単純です。同じページのWebにアクセスするときは、<a>要素(トラックまたはセット)のクリックに応じて異なるファイルをアップロードする必要があります。

しかし、私のコードは機能しません、いくつかのアイデア?

ページWebの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);
        }
    });
}
4

2 に答える 2

0

href と inline 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);
            }
        });
    }); 
});
于 2012-11-04T17:33:45.380 に答える
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;
}
于 2012-11-04T17:31:17.597 に答える