javascript — jQuery $ .post () не отправляет нужную информацию в переполнение стека

Я только начинаю изучать jQuery, php и т. Д.
У меня есть div (масштаб) с изображениями с двумя атрибутами. Я хочу записать эти атрибуты в базу данных. Как они могут измениться (перетащить & drop) Я хочу отправить все атрибуты img в базу данных для обновления при каждом добавлении нового элемента в div. Но вместо отправки каждого дочернего элемента div отправляется только текущий (новый добавленный) элемент (несколько раз).

JQuery

stop: function(event, ui) {
$('#scale').children().each(function(){
var idd = $(this).attr("data-id");
var size2 = parseInt($("#scale > img").length);
var pos = parseInt($(this).index());
var rat = 1.00-(1/size2*pos);
$(this).attr('newRating', rat);

console.log("We send Movie with ID : " + idd + " on Position: " +pos + " to the DB");

$.post("userInfo.php",
{
id:idd,
rating:rat

},
function(data, status){
console.log("Data: " + data  + "\nStatus: " + status + " \nof " +  $(ui.item).attr('data-id') + " \nwith " + $(ui.item).attr('newRating') );
}
);

});
}

Первый console.log дает мне правильные идентификаторы и рейтинги, но данные, которые я получаю от вызова .post (), неверны.

PHP

        include_once('db.php');

$id = $_POST['id'];
$rating =   $_POST['rating'];if (mysql_query("INSERT INTO MovieRating SET id = '$id', rating ='$rating' ")){
echo "Successfully Inserted";
}
else{
echo "Insertion Failed";
}

0

Решение

console.log("Data: " + data  + "\nStatus: " + status + " \nof " +  $(ui.item).attr('data-id') + " \nwith " + $(ui.item).attr('newRating') );
^^^^^^^                                   ^^^^^^

Вы читаете ui.item каждый раз, когда входите в консоль. Вы хотите элемент из текущей итерации.

console.log("Data: " + data  + "\nStatus: " + status + " \nof " +  idd + " \nwith " + rat );
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]