1

我有一个DIV通过JQUERYAjax 调用刷新的页面,但随后我丢失了javascript包含在“head”页面中的所有代码。我需要将它们包括两次吗?在我看来,这对性能不利,因为您必须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

您应该使用类标识符,而不是click在您的 JS 中使用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

你可以在这个问题中阅读它:Why use jQuery on() instead of click()

于 2012-12-17T10:52:39.830 回答