2015-08-26 1 views
0

У меня есть this jquery plugin, что я использую для timepicker. У меня есть работа, чтобы отображаться, когда вы нажимаете внутри текстового поля. Но я не могу «сохранить» время после нажатия кнопки «Сохранить». Есть ли функция для этого плагина, где я могу сохранить его после фокусировки из текстового поля? Что я пробовал до сих пор: $(this).filthypillow("fp:save");, $(this).filthypillow("save");, $(this).filthypillow("updateDateTime");, $(this).filthypillow("saveDateTime");jQuery plugin Filthypillow - Как вы вручную сохраняете onblur?

Любая помощь будет оценена.

ответ

0

Из ссылки, это выглядит, как вы должны установить значение на сохранение:

$fp.on("fp:save", function(e, dateObj) { 
    $fp.val(dateObj.format("MMM DD YYYY hh:mm A")); 
    $fp.filthypillow("hide"); 
}); 

если вы хотите сэкономить на размытости я хотел бы предложить инспектирование элемента на кнопке сохранить, и найти DIV/элемент, который он (html, который генерирует плагин). затем выберите его и зарегистрируйте событие click, например:

$('.fp-save-button').click(); 

в обработчике размытия, чтобы вызвать действие/событие сохранения.

Один из способов изготовления Datepicker закрытия при нажатии отходящими от него:

Добавить Div #mask с этими стилями:

height: 100%; 
width: 100%; 
position: fixed; 
top: 0; 
left: 0; 
z-index: 1; 
display: none; 

Затем добавьте z-index: 2; к классу FP-контейнера. Тогда в JavaScript, показать #mask DIV, когда вы сосредоточены на вход Datepicker и связать одно событие щелчка (one.('click', function(){}) к нему так:

$fp.on("focus", function() { 
    $fp.filthypillow("show"); 
    $('#mask').show(); 
    $('#mask').one('click', function() { 
     $('.fp-save-button').click(); 
     $('#mask').hide(); 
    }); 
}); 
+0

Первая часть зафиксировала кнопку сохранения. Но как я могу запустить функцию «fp: save» при размытии? Это не работает: '$ fp.blur (function() { \t $ (this) .filthypillow (" fp: save "); \t});' –

+0

Вот о чем я говорил - I не думайте, что вы можете явно вызвать событие fp: save. Но то, что может работать, вызывает событие click на кнопке сохранения, которое затем приведет к тому, что плагин выполнит сохранение. Вместо '$ (this) .filthypillow' try' $ ('. Fp-save-button'). Click(); ' – xPfqHZ

+0

Меню исчезает, когда я снова нажимаю на текстовое поле. –

0

Я написал filthypillow. Вы можете сделать что-то вроде следующего:

$fp.on("blur", function() { 
    var date = $fp.filthypillow("getDate"); 
    if($fp.filthypillow("isValid")) 
     saveDate(date); 
}); 

//This part isn't needed if you don't want to save with fp:save 
$fp.on("fp:save", function(e, dateObj) { 
    saveDate(dateObj); 
}); 

Идея заключается в том, что вы не должны вызывать FP: сохранить «официально» сохранить.