Если ваша цель - установить post
для каждого флажка и указать индекс или сглаживание, each
даст вам индекс, который вы можете использовать (также, не пишите $(this)
повторно, это расточительно):
$("input:checked").each(function(index) {
var $this = $(this);
var id_bookslot = data + index + 1; // <== Using the index here
var treatment_type = $this.closest("div").attr("id");
var id_treatment = $this.attr("class");
$.post("include/get_booking.php?insert", {
id_bookslot: id_bookslot,
id_treatment: id_treatment,
treatment_type: treatment_type
}
);
});
Также обратите внимание, что $(this).length
всегда будет 1
, но вы все равно не использовали свою переменную counter
, поэтому я просто удалил ее. Если вы используете его, но просто не указали код, то есть:
var checked = $("input:checked");
checked.each(function(index) {
var $this = $(this);
var id_bookslot = data + index + 1; // <== Using the index here
var treatment_type = $this.closest("div").attr("id");
var id_treatment = $this.attr("class");
$.post("include/get_booking.php?insert", {
id_bookslot: index,
id_treatment: id_treatment,
treatment_type: treatment_type
}
);
});
... и используйте checked.length
для своей переменной counter
.