in HTML, quando si clicca sul testo o soffermarsi sul testo di un pulsante di scelta o di casella di controllo, siamo in grado di selezionare con il codice HTML come illustrato di seguito:Etichettatura casella di controllo e Radio in knockout
<label>
<input type="checkbox" />option 1
</label>
O
<input id="checkboxid" type="checkbox" />
<label for="checkboxid">option 1</label>
io sto cercando di ottenere lo stesso comportamento con eliminazione diretta, ma incapace di trovare molto aiuto sulla stessa:
<label data-bind="text: $data.optiontext">
<input type="checkbox" data-bind="value: $data.optionvalue, checked: $parent.selectedOptions" />
</label>
The View (o html) è al di sotto (Si noti il codice qui sotto non contiene quanto sopra html, in modo che quando si prova è necessario apportare le modifiche di cui sopra e controllare):
<div data-bind="foreach: options">
<input type="checkbox" data-bind="value: $data.optionvalue, checked: $parent.selectedOptions" />
<label data-bind="text: $data.optiontext"></label>
</div>
<hr />
<div data-bind="text: selectedOptionsList"></div>
Qui è la vista modello:
var viewModel = {
options: [
{ optiontext: 'Simple', optionvalue: "1" },
{ optiontext: 'Advanced', optionvalue: "2" }
],
selectedOptions: ko.observableArray(["2"])
};
viewModel.selectedOptionsList = ko.computed(function() {
return this.selectedOptions().join(",");
}, viewModel);
ko.applyBindings(viewModel);
Ecco il link jsFiddle: http://jsfiddle.net/rupesh_kokal/AFzbY/
Grazie nemesv. La prima opzione si adatta meglio al mio compito. La seconda versione non funzionerà nel mio caso, in quanto ho vari controlli casella di controllo, che vengono creati dinamicamente e richiederebbe un modo dinamico per assegnare un id univoco allo stesso. C'è un modo per raggiungere questo obiettivo con knockout come creare un ID unico che knockout internamente si occupa dell'assegnazione? – Rups
Non vi è nulla di incorporato nel knockout che si occupi di generare e assegnare ID univoci. Quindi è necessario implementare questo da soli: alcune domande SO sulla creazione di id http://stackoverflow.com/questions/3231459/create-unique-id-with-javascript, http://stackoverflow.com/questions/105034/how- to-create-a-guid-uuid-in-javascript – nemesv
Grazie nemesv, avrebbe esaminato. – Rups