Hier ist meine jquery Funktion unten. Ich muss die Seite aktualisieren, damit ich die zusätzlichen Spalten anzeigen kann, nachdem sie überprüft haben, welche Spalten angezeigt werden sollen. Derzeit wird der Code (location.reload()) aktualisiert, bevor die Ajax-Aufrufe beendet werden können. Ich habe versucht, .promise nach der Checkbox-Schleife, aber es erlaubt mir nur 1 Kontrollkästchen zu übermitteln.Wie wird die Seite aktualisiert, nachdem alle Ajax-Anrufe beendet wurden?
JQuery
$('.delete-numbers').click(function() {
$('.number-chkbox').each(function() {
if (this.checked) {
$(this).attr('checked', true);
alert($(this).val() + " " + this.checked + "I GOT INNNN ADDDDD");
$.ajax({
url: '/PhoneBook/AddNumber',
data: {
Number: $(this).val(),
Name: name,
PhoneId: PhoneId
},
type: "POST",
dataType: "html",
cache: false
});
} else {
$(this).removeAttr('checked');
alert($(this).val() + " " + this.checked + "I GOT INNNN REMOVE");
$.ajax({
url: '/PhoneBook/AddNumber',
data: {
Number: $(this).val(),
Name: name,
PhoneId: PhoneId
},
type: "POST",
dataType: "html",
cache: false
});
}
})
location.reload();
});
Html
<div class="modal-body form-group">
@foreach (var item in Model.PhoneBook.OrderBy(a => a.Number))
{
if (Model.AvailableNumbers.Any())
{
if (Model.AvailableNumbers.Where(a => a.Number== item.Number).Count() != 0)
{
<input class="number-chkbox number" type="checkbox" checked="checked" name="@item.Number_Description" value="@item.Number">
}
else
{
<input class="number-chkbox number" type="checkbox" name="@item.Number_Description" value="@item.Number">
}
<label class="non-bold">@String.Format(" {0} - {1}", @item.Number, @item.Number_Description)</label>
<br />
}
else
{
<input class="number-chkbox number" type="checkbox" name="@item.Number_Description" value="@item.Number">
<label class="non-bold">@String.Format(" {0} - {1}", @item.Number, @item.Number_Description)</label>
<br />
}
}
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-danger delete-numbers" data-dismiss="modal">Yes</button>
<button type="button" class="btn btn-default cancel-number">No</button>
</div>
Ich füge eine Lösung hinzu, bitte werfen Sie einen Blick darauf – Teocci