Advertisement
joris

Contoh

Jul 12th, 2014
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
jQuery 3.63 KB | None | 0 0
  1. $('#customFields').on('keydown', '.big', function(e) {
  2.     var tableData = $('#customFields tr').length;
  3.     var totalTable = parseInt(tableData)-1;
  4.     if(totalTable > totalData){
  5.         alert('Maaf, data asset sudah maksimal untuk package ini');
  6.     }else{
  7.         var keyCode = e.keyCode || e.which;
  8.         if (keyCode == 9) {
  9.             var $this = $(this),
  10.             idx=$('.big','#customFields').index($this),
  11.             $regex,
  12.             $parent=$this.parents('tr').children('td'),
  13.             id = $this.val();
  14.             $regex=new RegExp(/[0-9]+/);
  15.             if(!id.match($regex)){
  16.                 alert("Maaf data harus berupa angka");
  17.                 $this.focus();
  18.                 return;
  19.             }
  20.             $.ajax({
  21.                 type: 'POST',
  22.                 url: '<?php echo $this->createAbsoluteUrl("package/getdata"); ?>',
  23.                 data: {
  24.                     data: id,
  25.                 },
  26.                 dataType: 'json',
  27.                 cache: false,
  28.                 success: function(result) {
  29.                     if(result==""){
  30.                         alert("Maaf, data tidak ditemukan untuk kode : "+id);
  31.                         $this.focus();
  32.                     }else{
  33.                         var allFields=[],
  34.                         hasEmpty=false,
  35.                         $emptySel;
  36.                        
  37.                         $('#customFields .big').each(function(index, item) {
  38.                             var $itm=$(item);
  39.                             var reqField = $itm.val();
  40.                             allFields.push(reqField);
  41.                             if(reqField==''){
  42.                                 hasEmpty=true;
  43.                                 $emptySel=$itm;
  44.                             }
  45.                         });
  46.                        
  47.                         var sortedFields=allFields.sort();
  48.                         var results=[];
  49.                         for (var i = 0; i < allFields.length - 1; i++) {
  50.                             if (sortedFields[i + 1] == sortedFields[i]) {
  51.                                 results.push(sortedFields[i]);
  52.                             }
  53.                         }
  54.                         if(results.length>0){
  55.                             alert('Maaf, data sudah ada di list.');
  56.                             $this.val('');
  57.                             $this.focus();
  58.                             return;
  59.                         }
  60.                        
  61.                         if(hasEmpty){
  62.                             $emptySel.focus();
  63.                             return;
  64.                         }
  65.                        
  66.                         $parent.eq(1).children().val(result[0].asset_name);
  67.                         $parent.eq(2).children().val(result[0].viewcardno);
  68.                         $parent.eq(3).children().val(result[0].region_name);
  69.                         $parent.eq(4).children().val(result[0].asset_status);
  70.                         $parent.eq(5).children().val(result[0].partner_name);
  71.                         $parent.eq(6).children().val(result[0].asset_id);
  72.                         count += 1;
  73.                         var $row = $(
  74.                         '<tr valign="top">'
  75.                             + '<td>'+'</td>'
  76.                                 + '<td><input type="text" class="small" id="data2_'+count+'" name="data2_'+count+'" value="" readonly="readonly"/></td>'
  77.                                 + '&nbsp;'
  78.                                 + '<td><input type="text" class="small" id="data3_'+count+'" name="data3_'+count+'" value="" readonly="readonly"/></td>'
  79.                                 + '&nbsp;'
  80.                                 + '<td><input type="text" class="small" id="data4_'+count+'" name="data4_'+count+'" value="" readonly="readonly"/></td>'
  81.                                 + '&nbsp;'
  82.                                 + '<td><input type="text" class="small" id="data5_'+count+'" name="data5_'+count+'" value="" readonly="readonly"/></td>'
  83.                                 + '&nbsp;'
  84.                                 + '<td><input type="text" class="small" id="data6_'+count+'" name="data6_'+count+'" value="" readonly="readonly"/></td>'
  85.                                 + '&nbsp;'
  86.                                 + '<td><input type="hidden" class="small" id="data7_'+count+'" name="data7_'+count+'" value="" readonly="readonly"/></td>'
  87.                                 + '&nbsp;'
  88.                                 + '<td><input id="rows_' + count + '" name="rows[]" value="'+ count +'" type="hidden">'
  89.                                 + '<a href="javascript:void(0);" class="remCF">Remove</a>'
  90.                         + '</tr>').appendTo("#customFields");
  91.                        
  92.                         var copyData = $this.clone();
  93.                         copyData.val('');
  94.                         var repID = copyData.attr('id', 'data1_'+count+'');
  95.                         var repName = copyData.attr('name', 'data1_'+count+'');
  96.                        
  97.                         $row.find('td:first').append(repID);
  98.                         repID.focus();
  99.                     }
  100.                 },
  101.                 error: function(jqXHR, exception){
  102.                     alert('Failed DB connection. Please reload page');
  103.                 }
  104.             });
  105.         }
  106.     }
  107. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement