Frage

Nun Nachdem Sie bearbeiten in einer Zeile in dieser Tabelle i auf erstellt habe focusout es annehmen, um die gesamte Zeile mit aktualisierten Daten neu zu laden, ist das, was das Triggerereignis Stopp nach der ersten Belastung arbeiten, damit alle Änderungen nach dem ersten getan tut gerettet werden.

Ich verwende derzeit diesen Code

$(function () {
        $.ajaxSetup ({  
             cache: false  
        });  
    $("td input").focusout(function() {
        var defval = $(this).attr('title');
        var value = $(this).attr('value');
        var column = $(this).closest('td').attr('class')
        var user = $('input[type=hidden]').attr('value');
        var row = $(this).closest('tr').attr('id')
        if(defval == value){
        var state = 'Good Standing.';
        }else{
        var state = 'Will update spread sheet...';
        var loadUrl = "./ajax/update.php";  
        $('#'+row+'').load(loadUrl, {row: row, user: user, column: column, value: value});
        }  
    }); 
});

und die Zeile sieht derzeit wie folgt aus

<tr class="numbers" id="3">
<td class="a" align="right">3</td>
<td class="b"><input class="input" type="text" title="1750" value="1750"/></td>
<td class="c"><input class="input" type="text" title="2100" value="2100"/></td>
<td class="d"><input class="input" type="text" title="0" value="0"/></td>

<td class="e"><input class="input" type="text" title="0" value="0"/></td>
<td class="f">3.5</td>
<td class="g"><input class="input" type="text" title="0" value="0"/></td>
</tr>

jede Hilfe ich es bekommen würde sehr geschätzt

Bezug

War es hilfreich?

Lösung

Verwenden Ereignis Delegation ( Live oder delegieren ):

 // using .live
 $("td input").live("focusout", function() {
     ...

 // using .delegate
 $("table td").delegate("input", "focusout", function(){
     ...

Wenn Sie einen Handler wie oben befestigen, im Wesentlichen Sie sind:

Anbringen eines Handlers auf das Ereignis für Alle Elemente, die den Strom übereinstimmt Wähler, die jetzt oder in der Zukunft.

Mit anderen Worten ersetzt Ajax-Elemente werden weiterhin die Ereignisse auszulösen zunächst an sie gebunden auf diese Weise.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top