ตย. คือการเพิ่มค่าไปบันทึกเรคคอร์ด แล้วคืนค่ามาให้เลือกใน <select> (เพิ่ม list option)
JS
// Save new work type
$('#save-type').click(function(){
var uri = '<?php echo URL::site('manage/works/savetype');?>';
var new_type = $.trim($('#new-type').val());
if ( ! new_type)
{
$('#new-type').focus();
alert('โปรดระบุ ชื่อชนิดงานใหม่');
return;
}
var data = { type_name: new_type }
$('#saving1').html('(Loading..)');
// Hide new type <tr>
$('#tr-new-type').addClass('hide');
var success = false;
$.getJSON(uri, data, function(json, text_status){
var work_type = $('#work-type');
success = true;
work_type.html('');
for (var i=0; i < json.length; i++)
{
$('<option>').val(json[i]['value']).text(json[i]['text'])
.appendTo(work_type);
}
// Select new added
$('option[value='+json[i-1]['value']+']').attr('selected', 'selected');
// Focus on work name
$('#work-name').focus();
});
if ( ! success)
{
alert('มีปัญหาขณะโหลด โปรดลองใหม่');
}
$('#saving1').html('');
});
// ส่วนส่ง คืน json Code (PHP)
// Save new type and response all type as JSON
public function action_savetype()
{
if ($_GET['type_name'])
{
$model = new Model_Manage_Works;
$rs = $model->savetype($_GET['type_name']);
$types = array();
foreach ($rs as $rec)
{
array_push($types, array('value' => $rec['types_id'], 'text' => $rec['types_name']));
}
$this->request->response = json_encode($types);
$this->auto_render = FALSE;
}
}