2012-12-10 47 views
0

我遵循雜貨指南CRUD web文檔http://www.grocerycrud.com/examples/callback_edit_field_example雜貨CRUD日期輸入的默認值?

我想這是插入時爲輸入字段設置默認值的方法之一。我試圖通過使用相同的方法來設置日期輸入字段的默認值。日期值確實出現在字段中,但它的jQuery日期選擇器功能不再可用。

做過任何一個試圖設置日期默認值的Grocery CRUD,但仍然保持其jQuery的日期選擇器功能?

感謝先進!

回答

2

謝謝John!

我正在尋找默認日期值出現在輸入表單中時,在添加輸入頁面。我對你的例子做了一些修改

$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; 
} 

它的工作原理!

3

這個功能實際上並不存在於雜貨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" />'; 
} 
+0

謝謝約翰!我對你的代碼做了一些改變,它的工作原理!我在這篇文章中提供了這個例子作爲答案。如果您在代碼中發現任何錯誤,請發表評論。順便說一下,你對這個問題有什麼想法嗎? http://stackoverflow.com/questions/13793871/callback-function-in-codeigniter-image-crud –

+0

和這個http://stackoverflow.com/questions/13819867/set-dropdown-input-default-value-base- on-third-parameter-in-grocery-crud thx! –

+0

爲圖像增刪改查沒有這樣的功能,但我不知道任何人有類似的黑客攻擊。對不起。 –

4

我發現一個簡單的方法有一個不可編輯的默認值,這樣做是

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

這將設置一個日期字段今天的日期,但是,這是不可編輯的。