Here is my jquery function below. If I check both check boxes, uncheck both, or check one and uncheck the other, it only enters in the method of the last checkbox that was edited. i.e. remove/add
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>