Advertisement
gotopa

Catatan select2.js

Jan 11th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. /*
  2. * Ini Hanya Contoh penggunaan Javascript select2 load data
  3. * Framework Codeigniter
  4. * autor mustopaamin@ymail.com
  5. */
  6.  
  7. <!-- load css dan js -->
  8. <link href="<?php echo base_url('assets/plugins/select2/select2.min.css');?>" rel="stylesheet" type="text/css" />
  9. <script src="<?php echo base_url('assets/plugins/select2/select2.min.js');?>"></script>
  10.  
  11. // Pemakaian pada Javascript
  12. var $select = $(".f_prov_id");
  13. $select.select2({
  14. minimumInputLength: 0,
  15. ajax: {
  16. url : "<?php echo site_url('md_province/fnprovinceComboData');?>",
  17. dataType : 'json',
  18. delay : 250,
  19. processResults : function(data,params) {
  20. return {
  21. results: data.result,
  22. }
  23. },
  24. cache: true
  25. },
  26. });
  27.  
  28. // Pemakaian pada Javascript saat update
  29. var $option = $('<option selected>Loading...</option>');
  30. $select.append($option).trigger('change');
  31.  
  32. $.ajax({
  33. type: 'GET',
  34. url: '<?php echo site_url('md_province/fnprovinceComboData');?>?id='+data.f_prov_id,
  35. dataType: 'json',
  36. }).then(function (dt) {
  37. msg = dt.result;
  38. // Here we should have the data object
  39. $option.text(msg[0].text).val(msg[0].id); // update the text that is displayed (and maybe even the value)
  40. $option.removeData(); // remove any caching data that might be associated
  41. $select.val(msg[0].id).trigger('change'); // notify JavaScript components of possible changes
  42. });
  43.  
  44. // Pada Controller
  45. public function fnprovinceComboData($pId)
  46. {
  47. $json['result'] = $this->mo_province->fnprovinceComboData();
  48. echo json_encode($json);
  49. }
  50.  
  51. // Pada Model
  52. public function fnprovinceComboData() {
  53. if($this->input->get('term')) $this->db->like('f_provinsi_nama',$this->input->get('term')); // pencarian
  54. if($this->input->get('id')) $this->db->like('f_provinsi_id',$this->input->get('id')); // saat pencarian update
  55. $this->db->limit('10');
  56. $vResult = $this->db->get($this->table)->result();
  57. $vDataJson = array();
  58. foreach($vResult as $vRow):
  59. $list['id'] = $vRow->f_provinsi_id;
  60. $list['text'] = $vRow->f_provinsi_nama;
  61. array_push($vDataJson,$list);
  62. endforeach;
  63. return $vDataJson;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement