Я только начинаю изучать 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";
}
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 );
Других решений пока нет …