Мы работаем на SPA с использованием Angularjs и Breeze на основе шаблона HotTowelUIBootstrap и Angularjs DatePicker табуляции и прямой ввод
У нас есть несколько datePickers на странице, которые дают нам следующие проблемы:
Когда пользователь вводит вкладку datepicker, датапикер открывается, но не закрывается, когда пользователь переходит к следующему элементу управления. Поскольку datepickers укладываются в один столбец ui, это приводит к тому, что раскрывающийся список охватывает поля ниже. Единственный способ их очистки - выбрать дату или щелкнуть в другом месте в форме
Пользователь не может ввести дату во входную область при редактировании существующей записи, привязанной к модели данных. Если они выделяют дату и пытаются ввести ее, она удаляет существующую дату и не позволит пользователю вводить новую. Если они нажмут на X, чтобы очистить поле ввода, они не могут ввести новую дату. Если они позиционируют свой курсор в конце дня, и забой, дата исчезает и календарь выбора установлен в январе 1902.
По сути, это хорошо, если пользователи готовы подобрать мышь и нажмите дату в сборщике и никогда не пытайтесь ввести дату. Это нереально для нашего сообщества пользователей.
Вот HTML:
<label for="ApplicationCompleteDate" data-ng-show="vm.mode === 'edit'"><strong>Application Complete Date:</strong></label>
<div class="input-append" data-ng-show="vm.mode === 'edit'">
<span>
<input name="ApplicationCompleteDate" type="text" class="form-control input-medium" tabindex="16" placeholder="{{vm.format}}"
datepicker-popup="{{vm.format}}" close-text="Close" show-weeks='false'
is-open="vm.applicationCompleteDateOpened"
datepicker-options="vm.dateOptions"
data-ng-model="vm.formData.dateApplicationComplete"
data-ng-required="vm.applicationCompleteDateRequired"
data-ng-readonly="(!user.isInUserGroup && vm.mode === 'new') || (!user.isInCPUGroup && vm.mode === 'edit')" />
</span>
<span class="add-on">
<a href="#" data-ng-click="vm.applicationCompleteDateOpen($event)"><i class="icon-calendar"></i></a>
</span>
</div>
<label for="DecisionDatePicker" data-ng-show="vm.mode === 'edit'"><strong>Decision Date:</strong></label>
<div class="input-append" data-ng-show="vm.mode === 'edit'">
<span>
<input name="DecisionDatePicker" id="ddpID" type="text" class="form-control input-medium" tabindex="14" placeholder="{{vm.format}}"
datepicker-popup="{{vm.format}}" close-text="Close" show-weeks='false'
is-open="vm.decisionDateOpened"
datepicker-options="vm.dateOptions"
data-ng-model="vm.formData.dateDecision"
data-ng-required="vm.decisionDateRequired"
data-ng-readonly="(!user.isInUserGroup && vm.mode === 'new') || (!user.isInCPUGroup && vm.mode === 'edit')" />
</span>
<span class="add-on">
<a href="#" data-ng-click="vm.decisionDateOpen($event)"><i class="icon-calendar"></i></a>
</span>
</div>
<label for="DateClosedPicker" data-ng-show="vm.mode === 'edit'"><strong>Closed Date:</strong></label>
<div class="input-append" data-ng-show="vm.mode === 'edit'">
<span>
<input name="DateClosedPicker" type="text" class="form-control input-medium" tabindex="15" placeholder="{{vm.format}}"
datepicker-popup="{{vm.format}}" close-text="Close" show-weeks='false'
is-open="vm.dateClosedOpened"
datepicker-options="vm.dateOptions"
data-ng-model="vm.formData.dateClosed"
data-ng-required="false"
data-ng-readonly="(!user.isInUserGroup && vm.mode === 'new') || (!user.isInCPUGroup && vm.mode === 'edit')" />
</span>
<span class="add-on">
<a href="#" data-ng-click="vm.dateClosedOpen($event)"><i class="icon-calendar"></i></a>
</span>
</div>
Мы используем двухстороннее связывание с нг-моделью.
Любая помощь будет оценена по достоинству.
Благодаря
То же самое меня беспокоит. Вы когда-нибудь решали эту проблему? – zszep
Мы были заняты другими вопросами и пока не нашли хорошего решения. Однако мы вернемся к этому в ближайшие пару недель. Когда решение найдено, я отправлю его здесь. Мы уверены, что это результат двухсторонней привязки. – jwgreg
Прямо сейчас, я тоже изучаю. Я думаю, что я на правильном пути, так как скоро у меня есть что-то, я тоже опубликую. – zszep