2016-11-01 4 views
0

dataTablesを日付でフィルタリングするコードがあります。問題は、コードが正常に動作していることであるが、yは、キーボードで日付を入力する代わりに、画像のような日付を選択した場合にのみ:jQuery Datepicker onClose

datapickerにOnCloseのオプションを設定しcan'i方法

datePicker problem

$(document).ready(function(){ 
     $('#data .input-daterange').datepicker({ 
      todayBtn: "linked", 
      keyboardNavigation: false, 
      forceParse: false, 
      autoclose: true, 
      format: "dd-mm-yyyy", 
      onClose: ???????????????? 
      }, 
     }); 

     /* Add event listeners to the two range filtering inputs */ 
     $('#min, #max').keyup(function() { oTable.draw(); }); 
    }); 

このコードで構成されたデータテーブルでフィルタを動作させるには?

/* Function for date filter */ 
    jQuery.fn.dataTableExt.afnFiltering.push(
     function(oSettings, aData, iDataIndex) { 
      var iMin = document.getElementById('min').value; 
      var iMax = document.getElementById('max').value; 

      var iMinimo_year = iMin.substring(6,10); 
      var iMinimo_month = iMin.substring(3,5); 
      var iMinimo_day = iMin.substring(0,2); 
      var iMinimo = iMinimo_year.concat(iMinimo_month,iMinimo_day); 

      var iMaximo_year = iMax.substring(6,10); 
      var iMaximo_month = iMax.substring(3,5); 
      var iMaximo_day = iMax.substring(0,2); 
      var iMaximo = iMaximo_year.concat(iMaximo_month,iMaximo_day); 

      var iCol = 5; 
      var iDate_year = aData[iCol].substring(6,10); 
      var iDate_month = aData[iCol].substring(3,5); 
      var iDate_day = aData[iCol].substring(0,2); 
      var iDate = iDate_year.concat(iDate_month,iDate_day); 

      if ((iMinimo === "" && iMaximo === "") || (iMinimo <= iDate && iMaximo === "") || (iMinimo === "" && iMaximo >= iDate) || (iMinimo <= iDate && iMaximo >= iDate)) { 
       return true; 
      } else { 
       return false; 
      } 
     } 
    ); 

HTMLの一部は次のとおりです。

  `<div class="form-group col-md-offset-4" id="data"> 
       <label class="font-noraml">Seleccione rango de fechas de ingreso de solicitud a filtrar</label> 
       <div class="input-daterange input-group" id="datepicker"> 
        <input type="text" class="input-sm form-control" name="min" id="min" value="<?php echo date('');?>"/> 
        <span class="input-group-addon">a</span> 
        <input type="text" class="input-sm form-control" name="max" id="max" value="<?php echo date('d-m-Y');?>" /> 
       </div> 
      </div> 

`

+0

のようなものは、あなたが手動で日付を入力するときに実行されるここにコードを貼り付けることはできますか? – void

+0

上記のコードは、onClose行を除いてあります: – rjgodoy

答えて

0

私はあなたがonSelect日付ピッカーが選択されたときに呼び出され

を探していると思います。この関数は、選択された日付をテキストとして、datepickerインスタンスをパラメータとして受け取ります。関連する入力フィールドを参照します。

この

$(document).ready(function(){ 
    $('#data .input-daterange').datepicker({ 
     todayBtn: "linked", 
     keyboardNavigation: false, 
     forceParse: false, 
     autoclose: true, 
     format: "dd-mm-yyyy", 
     onSelect: function(dateVal) { 
      alert(dateVal); //Method to call when user picks a date 
     }, 
     onClose: function(dateVal) { 
      alert(dateVal); //Method to call when user closes the date picker 
     }, 
    }); 
}); 
+0

ありがとうございますが、どうすればそのオプションを設定できますか? – rjgodoy