Ho una tabella con intestazioni (#, nome utente, cognome utente) e sta eseguendo un ciclo foreach ad eliminazione diretta per aggiungere le righe quando l'utente seleziona il nome utente da un elenco di caselle di controllo. Ecco il mio Fiddle.Numero riga tabella per vincolo foreach knockout
HTML
<div>
<table class="table table-bordered">
<thead>
<th>#</th>
<th>User Name</th>
<th>User Surname</th>
</thead>
<tbody data-bind="foreach: users">
<tr data-bind="if: userselected">
<!-- The table row number -->
<td data-bind="text: $index() + 1"></td>
<td data-bind="text: username"></td>
<td data-bind="text: usersurname"></td>
</tr>
</tbody>
</table>
</div>
JS
var myViewModel = {
users: ko.observableArray([{
username: 'Name 1',
usersurname: 'Surname 1',
userselected: ko.observable(false)
}, {
username: 'Name 2',
usersurname: 'Surname 2',
userselected: ko.observable(false)
}, {
username: 'Name 3',
usersurname: 'Surname 3',
userselected: ko.observable(false)
}])
};
$(document).ready(function() {
//Bind View model
ko.applyBindings(myViewModel);
});
Il problema arriva quando l'utente seleziona gli utenti 1 e 3 del $ index() + 1 non lavorare per il numero di riga.
Ho bisogno di un modo per impostare il numero di riga dinamicamente.
Grazie in anticipo.
Che cosa esattamente non funziona? Sembra bene per me. –
Voglio il numero di riga non l'indice dell'array –
Certo, ma se seleziono le righe 1 e 3, vedo le righe 1 e 3 nella tabella, con l'indice corretto nella colonna #. Cosa è esattamente sbagliato? –