2013-08-07 4 views
2

У меня есть сценарий, в котором у меня есть «родительский» датпикер и кучка «дочерних» датпикеров, все в одном и том же представлении. Мне нужно будет обновить дочерние сборщики, чтобы они были ограничены датой родителя, и родительский сборщик должен будет регулироваться самой высокой дочерней датой. Я попытался установить это на ребенок сборщиков:Угловой ремень datepicker dynamic startDate/endDate

//child pseudo-code 
<input data-date-end-date="parent.target_date" data-ng-model="child.target_date bs-datepicker /> 

//parent pseudo-code 
<input data-date-start-date="highestChild.target_date" data-ng-model="child.target_date bs-datepicker /> 

, но я просто получить сборщик без возможности выбрать что-нибудь.

По существу, ребенок не должен быть уволен, если его родительский родитель, а родителя нельзя потянуть ближе, чем его старший ребенок, но все они должны быть в состоянии обновить.

ответ

0

Часть проблемы с вашим кодом заключается в том, что Angular-Strap не использует атрибуты data-date-*, он использует data-*, что, к сожалению, пока не задокументировано на данный момент (если вообще).

Другая проблема заключается в том, что start-date и end-date атрибуты обычно работают (при использовании только Bootstrap DatePicker без углового ремень) путем ввода в статической даты, такие как data-date-start-date="2013-09-03". Угловой ремень работает так же, как и многие другие угловые директивы, позволяя вам использовать атрибут, как обычно, без углового, но позволяющий использовать угловое выражение, используя двойные фигурные скобки.

Например ng-href="http://www.waddup.com/items/{{ item.number }}"

Ваш псевдо-код должен в конечном итоге что-то вроде этого:

//child pseudo-code 
<input 
    data-end-date="{{ parent.target_date}}" 
    data-ng-model="child.target_date" 
    bs-datepicker 
/> 

//parent pseudo-code 
<input 
    data-start-date="{{ highestChild.target_date }}" 
    data-ng-model="parent.target_date" 
    bs-datepicker 
/> 
+0

Это имеет смысл. Я попробовал это и смог получить начальные и конечные даты работы. Кажется, что datepicker походит на формат даты, которую он получает. 'MM/dd/yyy' работает, но' yyyy-MM-dd' не работает. Это кажется немного странным. Я не могу понять, связано ли это с настройкой конфигурации для формата или способом передачи даты. –

+0

Попробуйте 'data-format =" yyyy-mm-dd "' Возможно, вам также придется выполнять 'data-type =" string "', поскольку datepicker любит использовать объект JavaScript Date, а не строки. – andrezsanchez

+0

Это сделало трюк. Я думаю, что ключевой момент был тип даты = «строка». Таким образом, похоже, что формат - это то, как сборщик принимает вход и как он будет отображаться. Было бы неплохо иметь вариант для обоих. Спасибо за вашу помощь. –

Смежные вопросы