У меня есть кнопка для создания радио-кнопки, как это:динамического поведения кнопки радио с нокаутом JS
<input value="↑" type="button" data-bind=" click: moveUp"/>
<input value="↓" type="button" data-bind="click: moveDown"/>
<input data-bind="value: selectedradio" />
<div data-bind="foreach: radios">
<div data-bind="attr:{id:radioid} ">
<input type="radio" name="group" data-bind="value:radioid, checked:$parent.selectedradio"/>
</div>
</div>
<div>
<input type="button" value="+" data-bind="click: addRadio"/>
</div>
когда радио кнопка создаются каждый из них присваивается уникальный индекс, и я связал проверяемый атрибут к свойство на родительском имени selectedradio
Я могу изменить selectedradio
, хотя вход html и выбранная радиостанция изменится, но если я изменю значение прогмамально, это не будет.
Я создал скрипку здесь: http://jsfiddle.net/8vVeU/
вот Javascript для справки:
function Radio(id){
this.radioid = ko.observable(id);
}
function ViewModel() {
var self = this;
self.selectedradio = ko.observable(0);
self.radios = ko.observableArray([new Radio(0),new Radio(1),new Radio(2),new Radio(3)]);
self.addRadio = function() {
self.radios.push(new Radio());
self.reIndex();
};
self.moveUp = function() {
self.selectedradio(self.selectedradio()-1)
self.reIndex();
};
self.moveDown = function() {
self.selectedradio(self.selectedradio()+1)
self.reIndex();
};
self.reIndex = function() {
$.each(self.radios(), function(i, r) {
r.radioid(i);
});
}
}
ko.applyBindings(new ViewModel());
Как я могу решить эту проблему?
Спасибо, мне все равно, что текст был там, чтобы помочь объяснить сценарий – andrew