Значение по умолчанию для ввода даты Grocery CRUD?

я следую руководству в веб-документации Grocerycrud.com/examples/callback_edit_field_example http://www.grocerycrud.com/examples/callback_edit_field_example

Я думаю, это один из способов установить значение по умолчанию для вашего поля ввода при вставке. Я пытаюсь установить значение по умолчанию для поля ввода даты, используя тот же метод. Значение даты появилось в поле, но функция выбора даты jquery больше недоступна.

Кто-нибудь пытался установить значение по умолчанию для даты в Grocery CRUD, но по-прежнему оставался функцией jquery datepicker?

заранее спасибо!


person bravo net    schedule 10.12.2012    source источник


Ответы (3)


Я нашел простой способ сделать это с нередактируемым значением по умолчанию:

$this->grocery_crud->callback_add_field('BookedDate', function(){ return date('y-m-d'); });

Это установит сегодняшнюю дату в поле даты, но это не редактируется.

person Dullaz    schedule 28.02.2016

Эта функциональность еще не существует в продуктовом CRUD. Итак, мы попробуем с небольшим «хаком», чтобы получить ожидаемые результаты. Код ниже будет работать нормально для вас:

$crud = new grocery_CRUD();
....

if( $crud->getState() == 'edit' ) { //add these only in edit form
    $crud->set_css('assets/grocery_crud/css/ui/simple/'.grocery_CRUD::JQUERY_UI_CSS);
    $crud->set_js_lib('assets/grocery_crud/js/'.grocery_CRUD::JQUERY);
    $crud->set_js_lib('assets/grocery_crud/js/jquery_plugins/ui/'.grocery_CRUD::JQUERY_UI_JS);
    $crud->set_js_config('assets/grocery_crud/js/jquery_plugins/config/jquery.datepicker.config.js');
}

$crud->callback_edit_field('phone',array($this,'_add_default_date_value'));

....
$output = $crud->render();
....


function _add_default_date_value($value){
    //The below line is only to avoid the error in JavaScript
    $return  = '<script type="text/javascript">var js_date_format = "dd/mm/yyyy"; </script>';

    $value = !empty($value) ? $value : date("d/m/Y");
    return $return.'<input type="text" name="phone" value="'.$value.'" class="datepicker-input" />';
}
person John Skoumbourdis    schedule 10.12.2012
comment
спасибо Джон! Я внес некоторые изменения в ваш код, и он работает! я привел пример в качестве ответа в этом посте. пожалуйста, прокомментируйте, если вы нашли какую-либо ошибку в коде. Кстати, у вас есть идеи по этому вопросу? stackoverflow.com/questions/13793871/ - person bravo net; 11.12.2012
comment
и этот stackoverflow.com/questions/13819867/ спасибо! - person bravo net; 11.12.2012
comment
для образа CRUD такой функциональности пока нет, и я не знаю никого, у кого есть подобный хак. Мне жаль. - person John Skoumbourdis; 12.12.2012

Спасибо, Джон!

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

$crud = new grocery_CRUD();
....

if( $crud->getState() == 'add' ) { //add these only in add form
    $crud->set_css('assets/grocery_crud/css/ui/simple/'.grocery_CRUD::JQUERY_UI_CSS);
    $crud->set_js('assets/grocery_crud/js/jquery_plugins/config/jquery.datepicker.config.js');
}

$crud->callback_add_field('date',array($this,'_add_default_date_value'));

....
$output = $crud->render();

function _add_default_date_value(){
        $value = !empty($value) ? $value : date("d/m/Y");
        $return = '<input type="text" name="date" value="'.$value.'" class="datepicker-input" /> ';
        $return .= '<a class="datepicker-input-clear" tabindex="-1">Clear</a> (dd/mm/yyyy)';
        return $return;
}

Оно работает!

person bravo net    schedule 11.12.2012