W PHP mam funkcję WHILE, która generuje mnie listę przycisków i każdy ma unikatową wartość:
<button id="btnwykonaj" class="btn btn-primary btn-sm btnwykonaj" value="'.$rekord['id'].'">Odbierz nagrodę</button>
Mam też AJAX:
$('#btnwykonaj').click(function(){
var id = $(this).val();
//Stop the form from submitting itself to the server.
e.preventDefault();
var id = id;
$.ajax({
type: "POST",
url: 'ajax/nagroda.php',
data: {id: id},
success: function(data){
toastr.success('Nagroda kupiona', 'Sukces');
setTimeout(function(){
$(location).attr('href', 'nagrody.php');
}, 2000);
}
}
});
});
ale skrypt działa tylko dla pierwszego przycisku (IMG:
style_emoticons/default/sad.gif)
wiecie w czym może być problem?
EDITPoradziłem sobie w ten sposób:
<button onclick="checkValue(this);" class="btn btn-primary btn-sm btnwykonaj" value="'.$rekord['id'].'">Odbierz nagrodę</button>
<script>
function checkValue(ele) {
var nagrodaid = ele.value;
$.ajax({
type: "POST",
url: 'ajax/nagroda.php',
data: {id: nagrodaid},
success: function(data){
toastr.success('Kupiono nagrodę', 'Sukces');
setTimeout(function(){
$(location).attr('href', 'nagrody.php');
}, 2000);
}
}
});
}
</script>
Ten post edytował diamondking 13.02.2021, 15:49:05