я сделал небольшую скрипку демонстрируя мой вопрос здесь http://jsfiddle.net/LkqTU/33025/реферирования идентификатор создан в нокауте компоненте
DatePicker, сделанный с использованием компоненты не срабатывает
ниже мой оригинальный пост ...
Я использую bootstrap 3 date time picker, и он работает следующим образом.
HTML
<div data-bind="css: formControlCss">
<label class="control-label" for="earlyPickup">Early Pickup:</label>
<div class='input-group date' id='earlyPickup'>
<input type='text' class="form-control" />
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>
</div>
JavaScript.
$('#earlyPickup').datetimepicker(
{
defaultDate: d.DB2VXRVSMRecord.DtErlstPickup + " " + d.DB2VXRVSMRecord.TiErlstPickup
});
это работает отлично, однако у меня есть несколько из этих временной даты сборщиков, поэтому я попытался создать компонент нокаута.
Компонент.
ko.components.register('datetime-picker', {
viewModel: function (params) {
this.label = params.label
this.id = params.id
this.hasError = params.hasError
this.formControl = ko.pureComputed(function() {
return (this.hasError()) ? "form-group has-error" : "form-group";
}, this);
},
template:
'<div data-bind="css: formControl">\
<label class="control-label" \
data-bind ="attr: {for: id}"> \
<span data-bind="text: label"></span>:</label>\
<div class="input-group date"\
data-bind= "attr: {id: id}" >\
<input type="text" class="form-control" />\
<span class="input-group-addon">\
<span class="glyphicon glyphicon-calendar"></span>\
</span>\
</div>\
</div>'
});
и я изменил свой HTML на.
<datetime-picker
params="label: 'Early Pickup',
id: 'earlyPickup',
hasError: ErlstPickupHasErrors">
</datetime-picker>
К сожалению, мой сборщик времени не создан. Я предполагаю, потому что, поскольку я теперь использую компонент, я не могу напрямую ссылаться на id? при вызове выбора времени даты $('#earlyPickup').datetimepicker(
не знает, что такое ранний Pickup на данный момент?
Как вы крепления подборщика к элементам? Если вы сделаете это немедленно при загрузке, скорее всего, идентификаторы не будут применяться, поэтому вы можете пропустить это. –
вы также можете использовать обработчик привязки для элемента управления 'datetimepicker' и использовать его везде, где у вас есть этот элемент управления – gkb