替换从外部 for 循环加载的 html 字符串中的字符

replace characters in html string which is loaded from external in for loop

我努力实现的目标。在更改事件中 html 正在更改。根据 select 的值,html 的片段需要加载与该值一样多的时间。在 html 的那些片段中,我需要用我的 for 循环的 var i 和其他一些变量替换一些变量。 (用于后端嘶嘶声)。最后的 html 需要附加在 div 处。

问题是当我尝试访问 $.get() 或 $.load() 函数中的变量时,它总是获取最新的变量。当我像这样访问附加函数中的变量时,一切都会按预期进行

$('.reizigers-verzekeringen').append('<p>'+title+'</p>);

加载并需要替换的示例是替换(在 ** 之间):

<div class="panel panel-default">
<div class="panel-heading">
    <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseinsurance*i*" class=""> Verzekeringen *TITLE* <i class="fa fa-plus pull-right"></i></a></h4>
</div>
</div>

完整代码...

$(".aantal-reizigers").change(function(){

    $(".reizigers-data").empty();
    $(".reizigers-verzekeringen").empty();
    var aantalReizigers = $(".aantal-reizigers").val();;
    var title="";
    var openclosedata="";
    var opencloseverzekeringen="";
    for (var i = 1; i <= aantalReizigers; i++) {

        if(i == 1){
            title = "hoofdreiziger";
            openclosedata='<div id="collapse'+i+'" class="panel-collapse in" style="height: auto;">';
            opencloseverzekeringen='<div id="collapseinsurance'+i+'" class="panel-collapse in" style="height: auto;">';
        }
        else{
            title = "reiziger "+i;
            openclosedata='<div id="collapse'+i+'" class="panel-collapse collapse">';
            opencloseverzekeringen='<div id="collapseinsurance'+i+'" class="panel-collapse collapse">';
        }

        $.get("booking/verzekeringen.html", function(html){
            html.replace("*TITLE*", title);<!--title is always the latest--> 
        })
        $(".reizigers-verzekeringen").append(
            '<p>'+title+'</p>'<!--this is going fine-->         
        );
    };
});

这里有一个方法:

将您的 html 放入一个变量中。

例如:

var htmlTemplate = "your html"

然后在你的循环中,而不是调用 get,只需使用 html。这是您更新的 JSFiddle,用于演示我的意思。然后你可以简单地去更新标题和你需要的其他东西。

http://jsfiddle.net/loanburger/q0jy260L/1/