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

Addrow datepicker tidak muncul

Siang master,
saya ada masalah datepicker, jadi ada form

<?php
<a class="btn btn-success pull-right" title="Add Data Keluarga" onclick="add_data_karyawan();"><i class="fa fa-plus"></i> Add
<table class="table" id="data_karyawan-table">
<thead>
<tr>
<th>Anak Ke</th>
<th>Nama</th>
<th>Tempat Lahir</th>
<th>Tanggal Lahir</th>
</tr>
</thead><thead>
</thead><tbody>
<tr>
<td><input name="data2[0][anak_ke]" class="form-control" id="anak_ke0"></td>
<td><input name="data2[0][nama_anak]" class="form-control" id="nama_anak0"></td>
<td><input name="data2[0][tempat_lahir_anak]" class="form-control" id="tempat_lahir0"></td>
<td><input name="data2[0][tgl_lahir_anak]" class="datepicker" id="tgl_lahir0"></td>
</tr>
</tbody>
</table>?>

Javascript
<script>
$(function() {
$( ".datepicker" ).datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "dd MM yy",
});
});
 
function del_data_karyawan(id){
$("#data_karyawan-table tbody #pic_data_karyawan"+id).remove();
}
$j=1;
 
function add_data_karyawan(){
var $kar_anak = ''+
'<input name="data2['+$j+'][anak_ke]" class="form-control" id="anak_ke'+$j+'">'+
'<input name="data2['+$j+'][nama_anak]" class="form-control" id="nama_anak'+$j+'">'+
'<input name="data2['+$j+'][tempat_lahir_anak]" class="form-control" id="tempat_lahir_anak'+$j+'">'+
'<input name="data2['+$j+'][tgl_lahir_anak]" class="datepicker" id="tgl_lahir_anak'+$j+'">'+
'<a href="javascript:;" title="Remove" onclick="del_data_karyawan('+$j+');" class="a-danger"><i class="fa fa-times"></i> &nbsp;</a>'+
'';
$("#data_karyawan-table tbody").append($kar_anak);
++$j;
}
</script>


Jadi di row pertama datepickernya jalan, tapi kalau tombol add nya di klik, row ke 2 dan seterusnya datepisckernya ga jalan.
Mohon sarannya master.

Comments

  • diperiksa di console nya browser
    ada pesan error apa saat datepicker baris kedua dst-nya di klik
  • Kebetulan sy msh blm pernah pake console di browser, sy coba pake developer consolenya chrome,
    jadi pada kolom tgl. Ada perbedaan class. Jadi pada saat row nya masih 1, classnya datepicker.hasDatepicker.
    Pas tombol ADD di klik, row ke 2 di kolom tgl, class nya jadi datepicker.

    Pengaruh ga ya, di class row pertama datepicker.hasDatepicker
    row ke 2 & selanjutnya calssnya datepicker ?

    Kalau error si kayanya ga ada lobster.
  • edited June 2016
    ini script datepicker mana yg dipake ? jquery ui ?

    attach event nya datepicker di koding elo cuma dijalankan sekali
    itu dilakukan di awal
    dan langsung melekat di elemen yg punya class "datepicker"

    pas elo tambah baris
    ada elemen baru
    tapi ndak ada proses attach datepicker ke elemen baru tsb
    ya pasti ndak bakal nungul
    karena datepicker cuma melekat di elemen yg pertama
  • ia lobster sy pake jquery ui untuk datepickernya.
    Saya pake class di form input karena banyak inputan tanggal.
    Ada petunjuk ga buat masalah klo addrow ga nampil datepickernya ? Kirain sy cukup pake class yang sama dengan inputan tanggal lain aja cukup, ternyata ga bisa.
  • ya elo jalankan lagi proses attach event datepicker nya ke class datepicker

    mending elo jadikan fungsi, jadi tinggal dipanggil fungsinya
  • gini master, ini jquery ui sy 

    <script>
    $(function() {
    $( ".datepicker" ).datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd MM yy",
    });
     
    <!-- Tanggal Kontrak -->
    $( "#from" ).datepicker({
    defaultDate: "+1w",
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd MM yy",
    numberOfMonths: 2,
    onClose: function( selectedDate ) {
    $( "#to" ).datepicker( "option", "minDate", selectedDate );
    }
    });
    $( "#to" ).datepicker({
    defaultDate: "+1w",
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd MM yy",
    numberOfMonths: 2,
    onClose: function( selectedDate ) {
    $( "#from" ).datepicker( "option", "maxDate", selectedDate );
    }
    });
    <!-- Tanggal Kontrak -->
    });
    </script>


    Kalau saya tambahin fungsi

    <script>
    function tgl_lahir_anak(){
    $( ".datepick2" ).datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd MM yy",
    });
    }</script>


    dan di addrow nya saya panggil pake class "tgl_lahir_anak" kok masih belum jalan ya ? Masih salah ya codenya ? 
  • class tgl_lahir_anak() ?
    itu kan cuma fungsi mas ...

    fungsi tgl_lahir_anak() nya dipanggil di mananya ?
  • fungsinya dipanggil di addrow mas

    <script>
    function del_data_karyawan(id){
    $("#data_karyawan-table tbody #pic_data_karyawan"+id).remove();
    }
    $j=1;
     
    function tgl_lahir_anak(){
    $( ".datepick2" ).datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd MM yy",
    });
    }
     
    function add_data_karyawan(){
    var $kar_anak = ''+
    '<input name="data2['+$j+'][anak_ke]" class="form-control" id="anak_ke'+$j+'">'+
    '<input name="data2['+$j+'][nama_anak]" class="form-control" id="nama_anak'+$j+'"> '+
    '<input name="data2['+$j+'][tempat_lahir_anak]" class="form-control" id="tempat_lahir_anak'+$j+'">'+
    '<input name="data2['+$j+'][tgl_lahir_anak]" onclick="tgl_lahir_anak();" class="datepick2" id="tgl_lahir'+$j+'">'+
    '<a href="javascript:;" title="Remove" onclick="del_data_karyawan('+$j+');" class="a-danger"><i class="fa fa-times"></i> &nbsp;</a>'+
    '';
    $("#data_karyawan-table tbody").append($kar_anak);
    ++$j;
    }
    </script>

    Uda bisa keluar mas datepickernya, cuman harus 2 kali klik baru keluar untuk datepicker addrow tanggal nya mas. Mungkin karena ada 'onclick' ya mas, ada cara lain ga mas lobster ?
    Jadi sebelum tombol add di klik, row tanggal pertama panggil class datepicker, setelah row ke 2 & seterusnya muncul, panggil fungsi onclick="tgl_lahir_anak();" dan panggil datepicker dengan class 'datepick2'.
  • salah, bukan di onclik

    tapi langsung jalankan saja setelah elo jalanin perintah append() ... atau setelah ++$j; dah
  • ok mas lobster uda fix.

     ++$j;
     $( ".datepick2" ).datepicker({
     changeMonth: true,
     changeYear: true,
     dateFormat: "dd MM yy",
     });

    Makasih sarannya.
    :-bd
  • edited June 2016
    jadiin fungsi mas ...
    ndak perlu elo tulis lengkap
    jadi tinggal panggil aja fungsinya saat dibutuhkan

    kan fungsi itu mesti dipanggil 2x
    1 saat buka awal
    1 saat tambah row
  • ok sy coba biar di jadiin fungsi mas  :-bd
  • Mas lobster, mau nyambung lagi ni, sekarang masalah form editnya. Boleh nyambung di di sini apa bikin baru aja ?
  • edited June 2016
    bukan masalah script nya sama
    tapi masalah masih berkaitan atau ndak ?
  • ia kalau menurut saya masih berkaitan mas, klo dari awal add row masalah input form nya, nah sekarang masalah edit formnya. Di samain aja ya 
  • ya nanya aja
  • edited June 2016
    jadi lanjutin yg sebelumnya ya mas,
    ini form edit datanya image
    Jadi ada karyawan punya 3 anak, tapi saat input sebelumnya, tanggal lahir anak ke 3 lupa di input jadi hapus di edit. Kolom tgl Lahir saya klik, datepickernya muncul, namun saat pilih tanggal, yang berubah itu kolom tgl anak ke 1 mas, seharusnya kn kolom anak ke 3 yang muncul sesuai saya klik yang mana.

    ini code nya 
    <?php
    <table class="table" id="data_karyawan-table">
    <thead>
    <tr>
    <th>Anak Ke</th>
    <th>Nama</th>
    <th>Tempat Lahir</th>
    <th>Tanggal Lahir</th>
    </tr>
    <thead>
    <?php $j=0; foreach($kar_anak as $pi){ ?>
    <input name="data2[<?php echo $j;?>][anak_ke]" class="form-control" value="<?php echo $pi['anak_ke']?>" id="anak_ke0">
     
    <input name="data2[<?php echo $j;?>][nama_anak]" class="form-control" value="<?php echo $pi['nama_anak']?>" id="nama_anak0">
     
    <input name="data2[<?php echo $j;?>][tempat_lahir_anak]" class="form-control" value="<?php echo $pi['tempat_lahir_anak']?>" id="tempat_lahir_anak0">
     
    <input name="data2[<?php echo $j;?>][tgl_lahir_anak]" class="datepicker" value="<?php echo $pi['tanggal_lahir_anak']?>" id="tgl_lahir0">
     
    <a href="javascript:;" title="Remove" onclick="del_data_karyawan(<?php echo $j;?>);" class="a-danger"><i class="fa fa-times"></i> &nbsp;</a>
     
    <?php ++$j;} ?>
    ?>



    Mohon bantuannya lagi ya mas.
  • yg elo posting ndak ada masalah

    yg masalah itu bagaimana elo meng-attach event nya datepicker ke elemen isian tanggal nya
    dan itu kagak elo posting
  • edited June 2016
    Sory, sory mas. untuk viewnya uda sy jabarkan di atas tadi,
    model :
    <?php
    public function get_karyawan($id_karyawan){
    $sql ="SELECT * FROM karyawan WHERE id_karyawan = {$id_karyawan} order by nama_lengkap";
    return $this->db->query($sql)->row_array();
    }
     
    public function get_kar_anak($id_karyawan){
    $sql ="SELECT *,DATE_FORMAT(tgl_lahir_anak, '%d %M %Y') AS tanggal_lahir_anak FROM karyawan_anak
    WHERE id_karyawan = ? order by anak_ke";
    return $this->db->query($sql,array($id_karyawan))->result_array();
    }
    ?>

    controllernya :

    <php public="" function="" edit(){="" if(!$this-="">general->privilege_check(DATA_KARYAWAN,'edit'))
    $this->general->no_access();
     
    $id_karyawan = $this->uri->segment(4);
    $karyawan = $this->data_karyawan_model->get_karyawan($id_karyawan);
    $kar_anak = array();
    if(!$karyawan){
    show_404();
    }else{
    $kar_anak = $this->data_karyawan_model->get_kar_anak($id_karyawan);
    }
    $data = array(
    'title'=>'Edit Data Karyawan','id_karyawan'=>$id_karyawan,
    'karyawan'=>$karyawan,
    'kar_anak'=>$kar_anak,
    );
     
    $this->_render('edit_karyawan',$data);
    }
    ?>
    </php>


    Untuk datepickernya
    <script>
    $(function() {
    $( ".datepicker" ).datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd MM yy",
    });
    </script>
  • view nya mana ?
  • edited June 2016
    <!--?php 
    <h3 class="page-header"---->Detail Data Karyawan
    <form action="&lt;?php echo base_url();?&gt;karyawan/data_karyawan/update" class="form-horizontal" role="form" method="post" enctype="multipart/form-data">
    <div class="panel panel-default">
    <div class="panel-heading">
    <b>Data Keluarga</b>
    <a class="btn btn-success pull-right" title="Add Data Keluarga" onclick="add_data_karyawan();"><i class="fa fa-plus"></i> Add</a>
    </div>
    <!-- /.panel-heading -->
    <div class="panel-body">
     
    <!------------------------------------------------------------------------------------->
    <div class="form-group">
    <label class="col-lg-1 control-label">Sts Pernikahan</label>
    <div class="col-lg-3">
    <select name="id_status_pernikahan" class="form-control">
    <!--?php foreach($select_status_pernikahan as $pr){
    $sel = ($karyawan['id_status_pernikahan'] == $pr--->id) ? 'selected' :'' ?&gt;
    <option value="<?php echo $pr->id?>" <?php="" echo="" $sel;?="">&gt;<!--?php echo $pr--->nama_status_pernikahan?&gt;</option>
    <!--?php } ?-->
    </select>
    </div>
    <label class="col-lg-3 control-label">Nama Suami/Istri</label>
    <div class="col-lg-5">
    <input class="form-control" name="nama_istri" value="<?php echo $karyawan['nama_istri']?>">
    </div>
    </div>
     
    <div class="form-group">
    <label class="col-lg-1 control-label">Tgl Menikah</label>
    <div class="col-lg-3">
    <div id="DatePicker"></div>
    <input name="tgl_menikah" class="datepicker" value="<?php echo $karyawan['tanggal_menikah']?>">
    </div>
    <label class="col-lg-3 control-label">Tgl Lahir Suami/Istri</label>
    <div class="col-lg-3">
    <input name="tgl_lahir_istri" class="datepicker" value="<?php echo $karyawan['tanggal_lahir_istri']?>">
    </div>
    </div>
    <!------------------------------------------------------------------------------------->
    <table class="table" id="data_karyawan-table">
    <thead>
    <tr>
    <th>Anak Ke</th>
    <th>Nama</th>
    <th>Tempat Lahir</th>
    <th>Tanggal Lahir</th>
    </tr>
    </thead><thead>
    </thead><tbody>
    <!--?php $j=0; foreach($kar_anak as $pi){ ?-->
    <tr id="data_karyawan<?php echo $j;?>">
    <td>
    <input name="data2[<?php echo $j;?>][anak_ke]" class="form-control" value="<?php echo $pi['anak_ke']?>" id="anak_ke0"></td>
    <td>
    <input name="data2[<?php echo $j;?>][nama_anak]" class="form-control" value="<?php echo $pi['nama_anak']?>" id="nama_anak0"></td>
    <td>
    <input name="data2[<?php echo $j;?>][tempat_lahir_anak]" class="form-control" value="<?php echo $pi['tempat_lahir_anak']?>" id="tempat_lahir_anak0"></td>
    <td>
    <input name="data2[<?php echo $j;?>][tgl_lahir_anak]" class="datepicker" value="<?php echo $pi['tanggal_lahir_anak']?>" id="tgl_lahir0">
    </td>
    <td><a href="javascript:;" title="Remove" onclick="del_data_karyawan(<?php echo $j;?>);" class="a-danger"><i class="fa fa-times"></i> &nbsp;</a>
    </td></tr>
    <!--?php ++$j;} ?-->
    </tbody>
    </table>
     
    </div>
    </div>
    <div class="row">
    <div class="col-lg-6">
     
    <button type="submit" class="btn btn-primary"><i class="fa fa-save"></i> Save</button>
    <a href="&lt;?php echo base_url();?&gt;karyawan/data_karyawan" class="btn btn-danger"><i class="fa fa-times"></i> Cancel</a>
     
    </div>
    </div><!--end row-->
     
    </form>
     
    <script>
    function del_data_karyawan(id){
     
    $("#data_karyawan-table tbody #data_karyawan"+id).remove();
    }
    $j=<!--?php echo count($kar_anak); ?-->;
     
    function add_data_karyawan(){
     
    var $kar_anak = ''+
    '<input name="data2['+$j+'][anak_ke]" class="form-control" id="anak_ke'+$j+'">'+
    '<input name="data2['+$j+'][nama_anak]" class="form-control" id="nama_anak'+$j+'">'+
    '<input name="data2['+$j+'][tempat_lahir_anak]" class="form-control" id="tempat_lahir_anak'+$j+'">'+
    '<input name="data2['+$j+'][tgl_lahir_anak]" class="datepick2" id="tgl_lahir'+$j+'">'+
    '<a href="javascript:;" title="Remove" onclick="del_data_karyawan('+$j+');" class="a-danger"><i class="fa fa-times"></i> &nbsp;</a>'+
    '';
     
    $("#data_karyawan-table tbody").append($kar_anak);
    ++$j;
    $( ".datepick2" ).datepicker({
    changeMonth: true,
    changeYear: true,
    dateFormat: "dd MM yy",
    });
    }
     
    </script>
    ?>
  • edited June 2016
    itu view nya edit ?

    yg dipanggil lewat ini : $this->_render('edit_karyawan',$data); ?
  • edited June 2016
    ia mas itu untuk viewnya, untuk controllernya ada yang kurang :


    <?php 
    class Data_karyawan extends CI_Controller{
    public function __construct(){
    parent::__construct();
    if(!$this-->session->userdata('is_login'))redirect('login');
    if(!$this->general->privilege_check(DATA_KARYAWAN,'view'))
    $this->general->no_access();
    $this->session->set_userdata('menu','karyawan');
    $this->load->model('data_karyawan_model');
    }
     
    public function index(){
     
    $data = array('title'=>'List Data Karyawan');
    $this->_render('data_karyawan',$data);
     
    }
     
    private function _render($view,$data = array()){
     
    $this->load->view('header',$data);
    $this->load->view('sidebar');
    $this->load->view($view,$data);
    $this->load->view('footer');
    }
    ?>
  • soalnya gw bingung ...

    kalo itu view edit

    ini
    <script>
        $(function() {
          $( ".datepicker" ).datepicker({
              changeMonth: true,
              changeYear: true,
              dateFormat: "dd MM yy",
          });
    </script>

    ada di mana ?
  • soalnya gw bingung ...

    kalo itu view edit

    ini
    <script>
        $(function() {
          $( ".datepicker" ).datepicker({
              changeMonth: true,
              changeYear: true,
              dateFormat: "dd MM yy",
          });
    </script>

    ada di mana ?
    itu ada di header.php mas. Jadi saya load di private function _render bersama sidebar & footernya mas.
    Jadi datepickernya ikut terus.
  • kan gw sudah bilang ...

    kalo js ada di header
    pasti jalan duluan
    dan berlaku utk elemen yg sudah ada

    kalo ada penambahan elemen baru
    elo mesti jalankan lagi proses attach event nya datepicker
Sign In or Register to comment.