Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Split value datepicker dates ke input fields

Halo master js,
langsung aja ya. saya memakai datepicker bootstrap.
Misal
value date_A= 12/02/2018
value date_B= 16/02/2018

sebelum tekan tombol submit jadi otomatis value date di atas di split dan diinsert ke hidden file misalnya sebagai berikut ;
<input type="hidden" id="cd" name="cd">
<input type="hidden" id="cm" name="cm">
<input type="hidden" id="cy" name="cy">
<input type="hidden" id="cod" name="cod">
<input type="hidden" id="com" name="com">
<input type="hidden" id="coy" name="coy">



Input fields sebagai berikut ;
<input type="text" class="form-control startRangePicker" name="ci" placeholder="Checkin date" readonly="readonly" />
<input type="text" class="form-control endRangePicker" name="co" placeholder="Checkout date" readonly="readonly" />
fungsi js bawaan ;
$(function(){
// disabling dates
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);

var checkin = $('.startRangePicker').datepicker({
format: 'dd/mm/yyyy',
onRender: function(date) {
return date.valueOf() < now.valueOf() ? 'disabled' : '';
}

}).on('changeDate', function(ev) {
if (ev.date.valueOf() > checkout.date.valueOf()) {

var newDate = new Date(ev.date)
newDate.setDate(newDate.getDate() + 1);
checkout.setValue(newDate);
}
checkin.hide();
$('.endRangePicker')[0].focus();
}).data('datepicker');
var checkout = $('.endRangePicker').datepicker({
format: 'dd/mm/yyyy',
onRender: function(date) {
return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function(ev) {
checkout.hide();
}).data('datepicker');
});

Comments

  • di split buat apa ya ?

    bukannya lebih gampang langsung dari

    <input type="text" class="form-control startRangePicker" name="ci" placeholder="Checkin date" readonly="readonly" />
    <input type="text" class="form-control endRangePicker" name="co" placeholder="Checkout date" readonly="readonly" />

    yg dikirim langsung ke server ?
  • Untuk keperluan booking engine third party om krn setup dithird party hrs displit. Untuk yg split udah bisa. Satu lagi yg saya otak atik ga bisa om kalkulasi night antara 2 tgl di atas, bs kasi contohnya om. Saya bingung naruh fungsi msl function hitungDays()
  • third party php ? atau third party javascript ?

    ini fungsi di mana ?
    php atau javascript ?
  • edited February 6
    Third party php om,
    saya taruh di pastebin om, karena htmlnya gak muncul saya paste disini :smile:

    spesifikasi : https://pastebin.com/yhdmpvjy


    Masalahnya saya gak bisa mencari total nights dari tanggal yang di pilih oleh user.

  • edited February 6
    Kalo perhitungan sebelum tekan submit gimana om? Setelah di split masing - masing tanggal dan valuenya tanggal di kirim ke input hidden seperti dibawah ini (value split sudah bisa)
    formdatepicker.php
    <*input type="hidden" id="cd" name="cd">
    <*input type="hidden" id="cm" name="cm">
    <*input type="hidden" id="cy" name="cy">
    <*input type="hidden" id="cod" name="cod">
    <*input type="hidden" id="com" name="com">
    <*input type="hidden" id="coy" name="coy">

    // masalah mencari selisih hari setelah memilih tanggal checkout otomatis nilai night masuk ke input di bawah ini sebelum tekan tombol submit
    <*input type="hidden" name="nite" id="nite">
  • edited February 6
    itu kalo liat form nya ...
    ci & co elo mestinya masih ada, dan isinya masih tanggal lengkap, bukan di split
    lha wong 2-2 nya ada "name" nya.

    tinggal pake cara di tret yg satunya, strtotime(), lalu cari selisihnya
  • kalo manipulasi di phpnya sudah paham om, cuma dari sisi javascriptnya saya masih gak mudeng.

    https://pastebin.com/hNipv48b di ink fungsi yang calDays(); tapi saya test via inspect element saat memilih datepicker value total days tidak terkirim ke input type dengan id=nite

  • ci & co value nya apa ?
    format tanggal nya bagaimana ?
    yyyy-mm-dd ? atau lain ?
  • Formatnya dd/mm/yyyy om
  • format elo bikin ribet ...

    ya mau ndak mau pake yg sudah di split.
    jadikan date di javascript.
    https://www.w3schools.com/jsref/jsref_obj_date.asp

    pake model yg ini :
    var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);
    karena elemen elo sudah di split

    kalo 2 tanggal sudah elo jadikan date, bisa elo kurangkan

    <script>
    var d1=new Date(2017,11,20); // 20 Nop 2017
    var d2=new Date(2017,12,4); // 4 Des 2017

    var selisih_hari=d2-d1; // milidetik

    selisih_hari=selisih_hari/(24*60*60*1000); // 24 jam, 60 menit, 60 detik, 1000 milidetik

    document.write(selisih_hari+" hari");
    </script>
Sign In or Register to comment.