1

DIVAjax呼び出しでaを更新するページがありますが、「ヘッド」ページに含めJQUERYたコードがすべて失われます。javascriptそれらを2回含める必要がありますか?javascriptすでにクライアントページにある間に再度ロードする必要があるため、パフォーマンスには良くないように見えます。Ajaxの更新後にも利用できるようにファイルを含める方法

$(document).ready( function() {
    $("#prijzen_huidige_jaar").submit(function(event) {    
    /* stop form from submitting normally */    
    event.preventDefault();      
    $.ajax({
    type:"POST",
    url:"prijzen_huidige_jaar_test.php",
    cache: false,                   
    data: $("#prijzen_huidige_jaar").serialize(),
    success:function(data){
        $("#test").replaceWith(data);
    }       
});
});
});

メインページに含める:

<script type="text/javascript" src="https://localhost/include_bestanden/javascript/prijzen.js"></script>
4

1 に答える 1

2

clickJSで使用する代わりにon、クラス識別子を使用する必要があります。これは、後でAJAXを介して追加される要素に適用されるためです。

したがって、代わりに:

$("input[name$='vraag_afwijkende_prijzen']").click(function(){          
    if($(this).val() == 1){
        $("#instructie_afw_prijzen_tekst").html(vraag4_ja);
        $("#afwijkende_prijzen_vak").show('slow');
        $("#afwijkend_1").show('slow');
    }
    //etc

次のようなものを試してください:

$(document).on("click", ".vragen-radio", function() {
     if ($(this).attr("name") == 'vraag_afwijkende_prijzen' && $(this).val() == 1) {
        $("#instructie_afw_prijzen_tekst").html(vraag4_ja);
        $("#afwijkende_prijzen_vak").show('slow');
        $("#afwijkend_1").show('slow');
     }
     //etc

この質問でそれについて読むことができます:click()の代わりにjQuery on()を使用する理由

于 2012-12-17T10:52:39.830 に答える