最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Getting the value from the inlineembedded bootstrap datepicker - Stack Overflow

programmeradmin3浏览0评论

I have a problem by getting the selected value from the embedded/inline bootstrap datetimepicker.

Here's my code:

<div class="col-lg-8 datepicker_area" style="background: red;">
                <div style="overflow:hidden;">
                    <div class="form-group">
                        <div class="row">
                            <div class="col-md-8">
                                <div id="datetimepicker" data-date="12/03/2012 12:00 PM"></div>
                                <input type="hidden" name="date" id="my_hidden_input" value="">
                            </div>
                        </div>
                    </div>
                    <script type="text/javascript">

                        $("#datetimepicker").on("changeDate", function(event) {
                            $("input[type='hidden'][name='date']").val(
                                    $('#datetimepicker').datepicker('getFormattedDate')
                            )
                        });

                        $(function () {
                            $('#datetimepicker').datetimepicker({
                                inline: true,
                                sideBySide: true
                            });

                            $('#datetimepicker').datetimepicker();
                            $('#datetimepicker').on("changeDate", function() {
                                $('#my_hidden_input').val(
                                        $('#datetimepicker').datetimepicker('getFormattedDate')
                                );
                            });


                        });
                    </script>
                </div>

            </div>

There is nothing happening with my hidden input. He's not saving the value in it.

I've got the code from the bootstrap docu.

Somebody knows how it works? Thanks.

I have a problem by getting the selected value from the embedded/inline bootstrap datetimepicker.

Here's my code:

<div class="col-lg-8 datepicker_area" style="background: red;">
                <div style="overflow:hidden;">
                    <div class="form-group">
                        <div class="row">
                            <div class="col-md-8">
                                <div id="datetimepicker" data-date="12/03/2012 12:00 PM"></div>
                                <input type="hidden" name="date" id="my_hidden_input" value="">
                            </div>
                        </div>
                    </div>
                    <script type="text/javascript">

                        $("#datetimepicker").on("changeDate", function(event) {
                            $("input[type='hidden'][name='date']").val(
                                    $('#datetimepicker').datepicker('getFormattedDate')
                            )
                        });

                        $(function () {
                            $('#datetimepicker').datetimepicker({
                                inline: true,
                                sideBySide: true
                            });

                            $('#datetimepicker').datetimepicker();
                            $('#datetimepicker').on("changeDate", function() {
                                $('#my_hidden_input').val(
                                        $('#datetimepicker').datetimepicker('getFormattedDate')
                                );
                            });


                        });
                    </script>
                </div>

            </div>

There is nothing happening with my hidden input. He's not saving the value in it.

I've got the code from the bootstrap docu.

Somebody knows how it works? Thanks.

Share Improve this question asked Jun 11, 2016 at 18:14 FlorianbFlorianb 1881 gold badge2 silver badges14 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 6

According to Bootstrap 3 Datepicker, you need dp.change event.

Reference: http://eonasdan.github.io/bootstrap-datetimepicker/Events/

Replace your changeDate event $('#datetimepicker').on("changeDate", function() {}); to $('#datetimepicker').on('dp.change', function(event) {});

You can than get the date using event.date or even better, format the date event.date.format('MM/DD/YYYY h:mm a')

Example: $('#datetimepicker').on('dp.change', function(event) { alert(event.date); });

Please refer below solution:

$(function() {
  $('#datetimepicker').datetimepicker({
    inline: true,
    sideBySide: true
  });
  $('#datetimepicker').on('dp.change', function(event) {
    //console.log(moment(event.date).format('MM/DD/YYYY h:mm a'));
    //console.log(event.date.format('MM/DD/YYYY h:mm a'));
    $('#selected-date').text(event.date);
    var formatted_date = event.date.format('MM/DD/YYYY h:mm a');
    $('#my_hidden_input').val(formatted_date);
    $('#hidden-val').text($('#my_hidden_input').val());
  });
});
#selected-date,
#hidden-val {
  font-weight: bold;
}
<link href="https://maxcdn.bootstrapcdn./bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://cdn.rawgit./Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/build/css/bootstrap-datetimepicker.css" rel="stylesheet" />
<script src="https://ajax.googleapis./ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn./bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare./ajax/libs/moment.js/2.9.0/moment-with-locales.js"></script>
<script src="https://cdn.rawgit./Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/src/js/bootstrap-datetimepicker.js"></script>
<div>
  Selected Date: <span id="selected-date"></span>
  <br/>
  <br/>Value of hidden field: <span id="hidden-val"></span>
  <br/>
</div>
<div class="col-lg-8 datepicker_area" style="background: red;">
  <div style="overflow:hidden;">
    <div class="form-group">
      <div class="row">
        <div class="col-md-8">
          <div id="datetimepicker" data-date="12/03/2012 12:00 PM"></div>
          <input type="hidden" name="date" id="my_hidden_input" value="">
        </div>
      </div>
    </div>
  </div>
</div>

Move your hidden input inside the div (container of the inline datetimepicker). And, datetimepicker will automatically use it. Tested on version 4.17.47.

<div class="col-md-8">
   <div id="datetimepicker" data-date="12/03/2012 12:00 PM">
       <input type="hidden" name="date" id="my_hidden_input" value="">
   </div>
</div>

Beloow hidden input worked for me

<input type="hidden" name="date" id="my_hidden_input" value="">

Assigned the datetimepicker directly to hidden element via id

<script>
    $(function(){
        $('#my_hidden_input').datetimepicker({
            inline: true, 
            sideBySide: true
        });
    });
</script>
发布评论

评论列表(0)

  1. 暂无评论