J'ai un tableau dans lequel se trouve des contrôles Input Text. A chaque ligne, les contrôles se répètent en se numérotant.
Il faut que j'intercepte l'événement Change pour inscrire les valeurs dans le DOM sinon, du côté client (ASP/VB.net), les valeurs ne sont pas considéré comme changées.
Problème, cela n'a aucun effet, les contrôles sont pourtant bien trouvés si je debug le déroulement de la boucle:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function TriggerChangeTextBox() {
    for (var i = 1; i < 12; i++) {
        var txtMS = $(':input[name$="txtMS' + i + '"]');
        var txtPcentMS = $(':input[name$="txtPcentMS' + i + '"]');
        var txtObs = $(':input[name$="txtObs' + i + '"]');
 
        /* Permet de capturer l'évènement Change. */
        txtMS.trigger('change');
        txtPcentMS.trigger('change');
        txtObs.trigger('change');
 
        /*  Inscription de la valeur du TextBox directement dans le DOM,
        sinon la valeur ne sera pas considéré comme changée côté serveur. */
        txtMS.change(function () {
            txtMS.attr('value', txtMS.val());
        });
        txtPcentMS.change(function () {
            txtPcentMS.attr('value', txtPcentMS.val());
        });
        txtObs.change(function () {
            txtObs.attr('value', txtObs.val());
        });
    }
}
Du côté client, les contrôles sont nommés de la sorte (exemple pour la ligne 1):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
ctl00_MainContent_txtMS1
ctl00_MainContent_txtPcentMS1
ctl00_MainContent_txtObs1
Si quelqu'un voit où ça peut clocher... D'ailleurs, est-ce qu'il y a un autre moyen d'ajouter les valeurs dans le DOM ?