Hallo zusammen,
ich habe eine Liste, in der ich jeweils eine Eingabe über AJAX realisieren möchte.
Klicke ich in der ersten Spalte einer Zeile das Input-Feld an, so öffnet sich zur
Bearbeitung das Input-Feld in der ersten Zeile.
anbei mein PHP-Code:
anbei mein JS-Code:
Ich hoffe, der Code-Ausschnitt ist einigermaßen verständlich.
Hat jemand ne Idee, warum das so ist?
Kann der nicht zuordnen, um welche Zeile es sich handelt?
ich habe eine Liste, in der ich jeweils eine Eingabe über AJAX realisieren möchte.
Klicke ich in der ersten Spalte einer Zeile das Input-Feld an, so öffnet sich zur
Bearbeitung das Input-Feld in der ersten Zeile.
anbei mein PHP-Code:
PHP:
<?php foreach($stmt as $row) {
<tr>
<td style="height:120px">
<p class="rotate">
<input type="hidden" value="<?php echo $row['id'] ?>" id="iid" />
<table class="edit_tab" id="edit_tab">
<tr>
<td class="edit_tr" id="gehalt">
<span id="label_gehalt" class="text">
<?php echo $gehalt; ?>
</span>
<input type="text" class="editbox" id="input_gehalt" value="<?php echo $gehalt; ?>" name="gehalt" size="5">
</td>
</tr>
</table>
</p>
</td>
<td style="text-align:center;"><p class="rotate"><?php echo $row['str']; ?></p></td>
<td style="text-align:center;"><p class="rotate"><?php echo $row['plz']; ?></p></td>
<td style="text-align:center;"><p class="rotate"><?php echo $row['ort']; ?></p></td>
</tr>
<!-- Schleifenende -->
<?php
}
?>
anbei mein JS-Code:
Code:
$(document).ready(function()
{
$(".edit_tr").click(function()
{
var ID = $(this).attr('id');
$("#label_"+ID).hide();
$("#input_"+ID).show();
}).change(function()
{
var ID = $(this).attr('id');
var IID = document.getElementById("iid").value;
var data=$("#input_"+ID).val();
var dataString = 'id=' + IID + '&field=' + ID + '&value=' + data;
$.ajax({
type: "POST",
url: "auswert_bewII-2.php",
data: dataString,
cache: false,
success: function(html)
{
$("#label_"+ID).html(data);
},
error: function(data)
{
alert("Es ist ein Fehler aufgetreten!");
}
});
});
// Klick innerhalb des Labels
$(".editbox").mouseup(function()
{
return false
});
// Klick auserhalb des Inputfeldes
$(document).mouseup(function()
{
$(".editbox").hide();
$(".text").show();
});
});
Ich hoffe, der Code-Ausschnitt ist einigermaßen verständlich.
Hat jemand ne Idee, warum das so ist?
Kann der nicht zuordnen, um welche Zeile es sich handelt?