Comment maintenir jQuery DataTables la position de défilement après .draw()

Je suis à l'aide de jQuery Datatables plugin pour un affichage en tableau (12 lignes). Certains <input type="text" ... des champs d'édition. Lorsque le champ perd le focus j'ai besoin de valider sa valeur et éventuellement modifier la valeur du champ. Je n'ai pas été en mesure d'obtenir modifiés champ de saisie de valeurs pour être reconnu par les tables de données sans l'émission d'un .draw() par la suite, mais cela provoque la table pour faire défiler vers le haut de la table.

Est-il un moyen de maintien de la position de défilement après l'émission d'une .draw()?

$('#mytable').on('blur', 'input', function (e) {

    var inputFieldId = this.id;
    var inputFieldVal = $(this).val();

    { ... perform validation of field value ... }

    $('#mytable').DataTable().rows().invalidate().draw();
});

MODIFIER

J'ai vu quelqu'un essaie de faire la même chose que je suis et ils ont indiqué que le code suivant a travaillé pour eux. Cela semble être un moyen très simple de réaliser ce dont j'ai besoin, mais je suis toujours scrollTop = 0 moi-même. Quelqu'un voit comment je peux obtenir le rang de l'indice de la ligne sélectionnée?

var scrollPos = $(".dataTables_scrollBody").scrollTop();
$('#mytable').DataTable().rows().invalidate().draw(false);
$(".dataTables_scrollBody").scrollTop(scrollPos);
Désolé de ne pas voir vos modifications, vous code est correct, mais essayez avec scrollTo() $(".dataTables_scrollBody").scrollTo('#IDROW'). qui "IDROW' est l'ID de la LIGNE ou tout simplement l'ID de l'entrée que vous avez changé
Juste au cas où vous avez plusieurs tables de données avec le même nom de classe, vous devriez utiliser le sélecteur d'ID $("#divContrainer1 > .dataTables_scrollBody").scrollTop()
Oui, vous pouvez le faire. Avec un sale hack, mais vous pouvez. Chercher ma réponse ci-dessous.

OriginalL'auteur rwkiii | 2014-12-27