Jquery выберите на уровне представления шаблон jquery datepicker без объявления datepicker - PullRequest
0 голосов
/ 14 марта 2012

Я реализовал DatePicker с помощью jquery editortemplates. Однако на некоторых страницах просмотра мне нужно добавить событие onselect для DatePicker. Код выбора даты

<script type="text/javascript">
    $(function () {
        $('.dateofbirth').datepicker({ dateFormat: "dd/mm/yy" });
    });
</script>

было помещено в _layout.cshtml. Теперь я не могу вызвать необходимое событие в дочерних страницах, объявляя элемент datepicker снова. Есть ли способ, которым я могу просто запустить метод onselect datepicker и выполнить что-то самостоятельно на дочерних страницах, а конфигурация и инициализация datepicker остаются в _layout.cshtml?

как то так

Вид 1:

$('#dob').datepicker({onSelect: function(dateText, inst) { /*Calculate Age*/ }});

Просмотр 2:

$('#addmonths').datepicker({onSelect: function(dateText, inst) { /*Calculate New maturity Date*/ }});

Я просто не хочу снова объявлять элемент Datepicker для #element на дочерней странице. Пусть инициализация обрабатывается шаблоном редактора, но на дочерних страницах я просто хочу вызывать метод onSelect для каждого из них по мере необходимости без переобъявления.

В любом случае, я могу просто вызвать методы?

Ответы [ 2 ]

0 голосов
/ 21 марта 2012

У меня есть ответ здесь.Если я установлю значения по умолчанию для DatePicker, то будут применены все настройки по умолчанию.Однако, если мне нужно включить OnSelect, мы должны снова

$('#dob').datepicker({onSelect: function(dateText, inst) { /*Calculate Age*/ }});

, это фактически не воссоздает средство выбора даты.Что это делает?Если какие-либо настройки по умолчанию предоставляются для средства выбора даты.эти настройки средства выбора даты применяются, и событие выбора присоединяется к существующему средству выбора даты, когда он находит, что средство выбора даты уже инициализировано.Поэтому, напротив, средство выбора даты не воссоздается, а просто присоединяет к нему событие onSelect

0 голосов
/ 14 марта 2012

Попробуйте просто установить только одну опцию, используя метод "option".

$('#dob').datepicker('option', 'onSelect', function(dateText, inst) { /*Calculate Age*/ });

Используя путь по умолчанию для init - ваш объект-параметр будет расширен значениями по умолчанию (реализовано в datepicker) и передан методу init.

http://jqueryui.com/demos/datepicker/#method-option

Вы можете даже установить общесистемные значения по умолчанию для средства выбора даты. http://docs.jquery.com/UI/Datepicker/setDefaults

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...