我有一个foreach用于编辑一些项目。 每个项目都有一个“保存”按钮。我想在按钮下面显示一条消息。 如何在点击事件中显示此消息? 这是html:
<div id="divhorarios" data-bind="foreach: horarios">
<div>
<label>Fecha Ini: </label><input data-bind="value: FechaIni, datepicker: FechaIni, datepickerOptions: {dateFormat: 'dd/mm/yy'}" />
<label>Fecha Fin: </label><input data-bind="value: FechaFin, datepicker: FechaFin, datepickerOptions: {dateFormat: 'dd/mm/yy'}" />
<label>Nombre:</label> <input data-bind="value: Nombre"/>
<br />
<button data-bind='click: $root.saveHorario'>Guardar</button>
<br />
<span data-bind="visible: showGuardado" style=" color: Green;">El horario ha sido guardado</span>
</div>
</div>
在模型的javascript代码中,我设置了showGuardado = true,但消息未显示:
var HorariosModel = function (horarios) {
var self = this;
self.horarios = ko.observableArray(horarios);
self.guardarHorario = function (horario) {
$.post('/admin/horariosjsonguardar/' + idModelo, horario, function (returnedData) {
horario.showGuardado = true;
});
};
};
答案 0 :(得分:0)
你还没有得到所有代码,但很可能你需要将其改为: -
self.horarios = ko.observableArray([]);
ko.mapping.fromJS(horarios, {}, self.horarios);
将所有传入的内容转换为可观察的内容。
然而,给定点击处理程序,你实际上可能想要处理每个数组项上的点击的东西,这里是一个显示代码实际操作的小提琴: -
http://jsfiddle.net/keith_nicholas/UqFP2/
这样每个按钮都是独立的,每个按钮都有自己的绿色消息。
注意:我将datepicker更改为一个简单的输入,并为示例删除了帖子...