У меня есть приложение knockoutjs который позволяет пользователю добавить два значения, одно в текстовом поле, а другой в DropDownList, как показано here..Отображение текстовых полей, если пользователь выбирает значение в DropDownList knockoutjs
<button class="btn btn-success" data-bind="click: addEvnt">Add New</button>
<table class="panels">
<tbody data-bind="foreach: evnts"><tr>
<td><input type="text" class="form-control" data-bind="value: property" style="width:200px" /></td>
<td>
<select class="form-control" data-bind="foreach: $root.propertytypes, value: propertytype" style="width:150px">
<option data-bind="value: $root.propertytypes.indexOf($data), text: $data"></option>
</select>
</td>
</tr></tbody></table>
var AppScope = function() {
function Evnt(data) {
this.property = ko.observable(data.property);
this.propertytype = ko.observable(data.propertytype);
}
function EvntsViewModel() {
var self = this
self.propertytypes = ko.observableArray(["String", "String-Array"]);
self.evnts = ko.observableArray([
]);
self.addEvnt = function() {
self.evnts.push(new Evnt({ property: "", propertytype: 0 }))
}
}
ko.applyBindings(new EvntsViewModel());
}();
Upto это работает отлично ...
Что мне нужно , если пользователь выбирает «Строка» в раскрывающемся downlist .., приложение должно работать как есть ..
если пользователь выбирает «S tring-Array 'в раскрывающемся списке вниз. Он должен видеть текстовое поле и кнопку «Добавить» и иметь возможность добавлять разные значения.
Итак, теперь значение в self.events равно {property: "ProductName", propertytype: 1}
Мне нужно, чтобы это было как {собственность: "ProductName", PropertyType: 1, optionvalues: [ "Альфа", "бета", "Гамма"]}
Я попробовал несколько вещей here но не работает.
Искренне признателен за любую помощь ...
Благодаря
Thanks..In ваш пример, optiontoadd() не определен приходит на в console.log .. любая идея, как решить, что .. – Arnab
пожалуйста найти обновление Fiddle: HTTP: // jsfiddle.net/j3rua8tp/6/ –