简体   繁体   English

Datepicker无法在Codeigniter上的jQuery加载的ajax模态窗口中工作

[英]Datepicker not working in jquery loaded ajax modal window on codeigniter

I am trying to edit my database table using jquery loaded ajax modal. 我正在尝试使用jquery加载的ajax模态编辑数据库表。 and when i trigger the edit form using ajax, the bootstrap datepicker and selct2 plugin is not working but the same datepicker and select2 plugin is working fine inside the page. 当我使用ajax触发编辑表单时,bootstrap datepicker和selct2插件不起作用,但同一datepicker和select2插件在页面内正常运行。 and i am also trying to bind the jquery inside the modal but its not working too. 而且我也试图在模式内绑定jQuery,但它也不起作用。 here is my code for the ajax loaded popup form. 这是我的Ajax加载弹出窗体的代码。

 <?php $edit_data = $this->db->get_where('staff' , array('staff_id' => $param2) )->result_array(); foreach ( $edit_data as $row): ?> <div class="row"> <div class="col-md-12"> <div class="panel panel-primary"> <div class="panel-heading"> <div class="panel-title" > <i class="fa fa-plus-circle"></i> <?php echo get_phrase('edit_staff');?> </div> </div> <div class="panel-body"> <?php echo form_open(base_url() . 'index.php?admin/staffs/do_update/'.$row['staff_id'] , array('autocomplete'=>'off','target'=>'_top'));?> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('staff_name');?></label> <div class="col-sm-8"> <div class="inputer"> <div class="input-wrapper"> <input type="text" class="form-control" name="program_name" value="<?php echo $row['name']; ?>"> </div> </div> </div> </div> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('date_of_birth_');?> <i class="ion-android-calendar"></i></label> <div class="col-sm-8"> <div class="inputer"> <div class="input-wrapper"> <input type="text" class="form-control bootstrap-daterangepicker-basic" id="datepicker" name="dob" value="<?php echo $row['dob']; ?>"> </div> </div> </div> </div> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('address');?> </label> <div class="col-sm-8"> <div class="inputer"> <div class="input-wrapper"> <input type="text" class="form-control" name="address" value="<?php echo $row['address']; ?> "> </div> </div> </div> </div><!--.form-group--> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('phone');?> </label> <div class="col-sm-8"> <div class="inputer"> <div class="input-wrapper"> <input type="text" class="form-control" name="phone" value="<?php echo $row['phone']; ?>"> </div> </div> </div> </div><!--.form-group--> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('email');?> </label> <div class="col-sm-8"> <div class="inputer"> <div class="input-wrapper"> <input type="text" class="form-control" name="email" value="<?php echo $row['email']; ?>"> </div> </div> </div> </div><!--.form-group--> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('sex');?></label> <div class="col-sm-8"> <select name="sex" style="width:100%;"> <option value="1" <?php if($row['sex'] == '1')echo 'selected';?>> <?php echo get_phrase('male');?> </option> <option value="2" <?php if($row['sex'] == '2')echo 'selected';?>> <?php echo get_phrase('female');?> </option> </select> </div> </div><!--.form-group--> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('department');?></label> <div class="col-sm-8"> <select name="department_id" class="chosen-select"> <?php $departments = $this->db->get('department')->result_array(); foreach($departments as $row2): ?> <option value="<?php echo $row2['department_id'];?>" <?php if($row['department_id'] == $row2['department_id'])echo 'selected';?>> <?php echo $row2['name'];?> </option> <?php endforeach; ?> </select> </div> </div><!--.form-group--> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('designation');?> </label> <div class="col-sm-8"> <div class="inputer"> <div class="input-wrapper"> <input type="text" class="form-control" name="post" value="<?php echo $row['post']; ?>"> </div> </div> </div> </div><!--.form-group--> <div class="form-group row"> <label class="col-sm-4 control-label"><?php echo get_phrase('is_teacher');?></label> <div class="col-sm-8"> <select name="is_teacher" style="width:100%;"> <option value="1" <?php if($row['is_teacher'] == '1')echo 'selected';?>> <?php echo get_phrase('Yes');?> </option> <option value="2" <?php if($row['is_teacher'] == '0')echo 'selected';?>> <?php echo get_phrase('No');?> </option> </select> </div> </div><!--.form-group--> <br/><br/> <div class="form-group row"> <div class="col-sm-offset-3 col-sm-5"> <button type="submit" class="btn btn-info"><i class="fa fa-pencil"></i> <?php echo get_phrase('edit_staff');?></button> </div> </div> </form> </div> </div> </div> </div> <?php endforeach; ?> <script type="text/javascript"> $("#datepicker").FormsPickers.init(); </script> 

and below is my code for generating ajax loaded popup .. 下面是我的代码,用于生成ajax加载的弹出窗口..

 <script type="text/javascript"> function showAjaxModal(url) { // SHOWING AJAX PRELOADER IMAGE jQuery('#modal_ajax .modal-body').html('<div style="text-align:center;margin-top:200px;"><img src="assets/images/preloader.gif" /></div>'); // LOADING THE AJAX MODAL jQuery('#modal_ajax').modal('show', {backdrop: 'true'}); // SHOW AJAX RESPONSE ON REQUEST SUCCESS $.ajax({ url: url, success: function(response) { jQuery('#modal_ajax .modal-body').html(response); } }); } </script> 
  <!-- (Ajax Modal)--> <div class="modal fade" id="modal_ajax"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title"><?php echo $system_name;?></h4> </div> <div class="modal-body" style="height:500px; overflow:auto;"> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div> </div> </div> </div> 

this is the include_buttom.php ... 这是include_buttom.php ...

 <script src="assets/globals/plugins/pnikolov-bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js"></script> <script src="assets/globals/plugins/minicolors/jquery.minicolors.min.js"></script> <script src="assets/globals/plugins/bootstrap-daterangepicker/daterangepicker.js"></script> <script src="assets/globals/plugins/clockface/js/clockface.js"></script> <script src="assets/globals/plugins/chosen/chosen.jquery.min.js"></script> <script src="assets/globals/plugins/selectize/dist/js/standalone/selectize.min.js"></script> <script src="assets/globals/plugins/multiselect/js/jquery.multi-select.js"></script> <script src="assets/globals/plugins/quicksearch/dist/jquery.quicksearch.min.js"></script> <script src="assets/globals/plugins/bootstrap-select/dist/js/bootstrap-select.min.js"></script> <script src="assets/globals/plugins/jasny-bootstrap/dist/js/jasny-bootstrap.min.js"></script> <script src="assets/globals/plugins/jquery-validation/dist/jquery.validate.min.js"></script> <script src="assets/globals/plugins/twitter-bootstrap-wizard/jquery.bootstrap.wizard.min.js"></script> <!-- PLUGINS INITIALIZATION AND SETTINGS --> <script src="assets/globals/scripts/forms-select.js"></script> <script src="assets/globals/scripts/forms-pickers.js"></script> <script src="assets/globals/scripts/forms-wizard.js"></script> <!-- END PLUGINS INITIALIZATION AND SETTINGS --> <!-- PLEASURE --> <script src="assets/globals/js/pleasure.js"></script> <!-- ADMIN 1 --> <script src="assets/admin1/js/layout.js"></script> <script> $(document).ready(function () { Pleasure.init(); Layout.init(); FormsPickers.init(); FormsSelect.init(); Index.init(); }); </script> 

this is the include_buttom.php ... 这是include_buttom.php ...

 <script src="assets/globals/plugins/pnikolov-bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js"></script> <script src="assets/globals/plugins/minicolors/jquery.minicolors.min.js"></script> <script src="assets/globals/plugins/bootstrap-daterangepicker/daterangepicker.js"></script> <script src="assets/globals/plugins/clockface/js/clockface.js"></script> <script src="assets/globals/plugins/chosen/chosen.jquery.min.js"></script> <script src="assets/globals/plugins/selectize/dist/js/standalone/selectize.min.js"></script> <script src="assets/globals/plugins/multiselect/js/jquery.multi-select.js"></script> <script src="assets/globals/plugins/quicksearch/dist/jquery.quicksearch.min.js"></script> <script src="assets/globals/plugins/bootstrap-select/dist/js/bootstrap-select.min.js"></script> <script src="assets/globals/plugins/jasny-bootstrap/dist/js/jasny-bootstrap.min.js"></script> <script src="assets/globals/plugins/jquery-validation/dist/jquery.validate.min.js"></script> <script src="assets/globals/plugins/twitter-bootstrap-wizard/jquery.bootstrap.wizard.min.js"></script> <!-- PLUGINS INITIALIZATION AND SETTINGS --> <script src="assets/globals/scripts/forms-select.js"></script> <script src="assets/globals/scripts/forms-pickers.js"></script> <script src="assets/globals/scripts/forms-wizard.js"></script> <!-- END PLUGINS INITIALIZATION AND SETTINGS --> <!-- PLEASURE --> <script src="assets/globals/js/pleasure.js"></script> <!-- ADMIN 1 --> <script src="assets/admin1/js/layout.js"></script> <script> $(document).ready(function () { Pleasure.init(); Layout.init(); FormsPickers.init(); FormsSelect.init(); Index.init(); }); </script> 

Actually you calling the assest in wrong path. 实际上,您在错误的路径上称呼资产。 Means you are missing base_url() word in your src URL 表示您的src网址中缺少base_url()

Your code should be 您的代码应为

<script src="<?php echo base_url() ?>assets/globals/plugins/pn...

1. 1。

first of all give exact path to all of your assets as 首先,为您提供所有资产的确切路径

<script src="<?php echo base_url() ?>assets/globals/plugins/pnikolov-bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js"></script>

or 要么

<script src="<?php echo base_url('assets/globals/plugins/pnikolov-bootstrap-colorpicker/dist/js/bootstrap-colorpicker.min.js') ?>"></script>

2. 2。

what following codes do at your include_button page?? 您的include_button页上的以下代码是什么?

FormsPickers.init(); FormsPickers.init();

FormsSelect.init(); FormsSelect.init();

you are initializing FormsPicker with selector ID which can be multiple since you are looping there. 您正在使用选择器ID初始化FormsPicker,因为选择器ID可能在其中循环。 change that selector to class name. 将该选择器更改为类名。

<script type="text/javascript">
   $("#datepicker").FormsPickers.init();
</script>

to

<script type="text/javascript">
   $(".class_name").FormsPickers.init();
</script>

3. 3。

Best initialize choosen and datepicker by yourself as following in your ajax loaded popup form 最好自己在ajax加载的弹出窗口中初始化选择和日期选择器,如下所示

<script type="text/javascript">
   $(".choosen_class").chosen();
   $(".datepicker_class').datepicker();
</script>

by doing these i hope your problem should be solved. 通过这样做,希望您的问题得到解决。 If still problem persist, do ask us :) 如果问题仍然存在,请询问我们:)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM