这个脚本中的问题让我很生气:
exercices.forEach(function(element){
if(i<parseInt(nb_exercices)){
$.ajax({
type : "POST",
url : "ajax/getExercice.php",
data:{id:element["exercice_id"]},
success : function(data){
data = JSON.parse(data)
if(data["categorie"] == "1"){
if(!modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").hasClass("full")){
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").append(`
<li><a href="exercices/`+data["exercice_id"]+`" target="_blank">`+data["name"]+`</a></li>
<div>Nb séries : `+element["nb_series"]+`, Nb répétitions : `+element["nb_repetitions"]+` - Charge : `+element["charge"]+` `+element["unit"]+`</div>
`)
}else{
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").removeClass("full")
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").append(`
<li><a href="exercices/`+data["exercice_id"]+`" target="_blank">`+data["name"]+`</a></li>
<div>Nb séries : `+element["nb_series"]+`, Nb répétitions : `+element["nb_repetitions"]+` - Charge : `+element["charge"]+` `+element["unit"]+`</div>
`)
}
}else{
console.log(data)
console.log(element)
if(element["charge"] == null){
if(!modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").hasClass("full")){
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").append(`
<li><a href="exercices/`+data["exercice_id"]+`" target="_blank">`+data["name"]+`</a></li>
<div>Nb séries : `+element["nb_series"]+`, Nb répétitions : `+element["nb_repetitions"]+` -
<form class="charge_form form-inline" method="post" action="">
<div class="form-group mb-2">
<label for="charge" class="mr-1">Charge : </label>
<input type="number" min="0" class="form-control col-md-3" name="charge" placeholder="">
<input type="hidden" name="exercice_id" value="`+data["exercice_id"]+`" />
<input type="hidden" name="nex_training" value="`+exercices.indexOf(element)+`" />
<input type="hidden" name="training_id" value=`+training_id+` />
<input type="submit" class="btn btn-primary little-button" name="charge_submit" value="OK">
</div>
</form>
<div>`)
}else{
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").removeClass("full")
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").append(`
<li><a href="exercices/`+data["exercice_id"]+`" target="_blank">`+data["name"]+`</a></li>
<div>Nb séries : `+element["nb_series"]+`, Nb répétitions : `+element["nb_repetitions"]+` -
Charge : `+element["charge"]+` `+element["unit"]+`</div>
<div>`)
}
}else{
if(!modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").hasClass("full")){
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").append(`
<li><a href="exercices/`+data["exercice_id"]+`" target="_blank">`+data["name"]+`</a></li>
<div>Nb séries : `+element["nb_series"]+`, Nb répétitions : `+element["nb_repetitions"]+` - Charge : `+element["charge"]+` `+element["unit"]+`</div>
`)
}else{
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").removeClass("full")
modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").append(`
<li><a href="exercices/`+data["exercice_id"]+`" target="_blank">`+data["name"]+`</a></li>
<div>Nb séries : `+element["nb_series"]+`, Nb répétitions : `+element["nb_repetitions"]+` - Charge : `+element["charge"]+` `+element["unit"]+`</div>
`)
}
}
}
}
});
i++;
}else{
i = parseInt(nb_exercices)
}
});
每个元素的预期格式均为:
charge: null
exercice_id: "27"
nb_repetitions: 3
nb_series: 6
unit: "kg"
问题在于:
if(element["charge"] == null)
费用为null
的第一个元素转到else
,而不是输入if
。
我不知道该怎么解决。你能帮我吗?
答案 0 :(得分:1)
我认为不是引起问题的if(element["charge"] == null){
,而是引起该问题的if
语句。请注意,如果element["charge"] == null
为真,但!modal.find(".cmodal-content").find(".cmodal-body").find("div.middle").find("ul").hasClass("full")
为假,则可能会包含
Charge : `+element["charge"]+` `+element["unit"]+`</div>
产生不需要的Charge : null kg
。