【问题标题】:Get value from input from the bootstrap-datepicker with javascript使用 javascript 从 bootstrap-datepicker 的输入中获取值
【发布时间】:2016-06-11 03:39:49
【问题描述】:

在我的 Ruby-on-Rails 项目中,我想将引导日期选择器中的字符串添加到隐藏字段。我需要引用一个输入类,但我不知道如何。

这是我的表格:

<%= simple_form_for([@event, @dateevent]) do |f| %>
    <%= hidden_field_tag(:date, @datelist) %>
    <%= f.input :date, :as => :hidden, :input_html => { :value => "placeholder" } %>
    <%= f.button :submit %>
<% end %>

这是我对引导日期选择器的实现:

    <input type="text" class='datepicker' >

<script type="text/javascript">
  $(document).ready(function(){
    $('.datepicker').datepicker({
      multidate: true,
      format: 'dd-mm-yyyy'
    });
  });
</script>

我创建了一个按钮,将所选日期添加到隐藏字段:

<button class="btn3">Add dates to the hidden field</button>

  <script>
    $(document).ready(function(){
      $(document).on('click', ".btn3", function () {
        var datelist = $(".listb").text();
        document.getElementById('date').value = datelist;
      });
    });
</script>

为了检查按钮是否真的有效,我这样做了:

<div class="listb">2016-2-2</div>

当我按下按钮时,2016-2-2 被添加到隐藏字段中,它正在工作。

然后我在 Firefox 中打开 Firebug 并点击了引导日期选择器放置所选日期的字段,如下所示:

<input class="datepicker" type="text"></input>

在按钮的 Javascript 代码中,我尝试了这些代码行,但都没有成功:

var datelist = $(".datepicker").text();
var datelist = $(".datepicker").val();

我需要输入什么,以便将引导程序 datepicker 中的字段字符串添加到 datelist 中?有任何想法吗?提前致谢!

这是完整的页面:

<h2>Neuer Event</h2><br>
<input type="text" class='datepicker' >

<script type="text/javascript">
  $(document).ready(function(){
    $('.datepicker').datepicker({
      multidate: true,
      format: 'dd-mm-yyyy'
    });
  });
</script>
<br>
<div class="listb">2016-2-2</div>
<button class="btn3">Add dates to the hidden field</button>

<%= simple_form_for([@event, @dateevent]) do |f| %>
    <%= hidden_field_tag(:date, @datelist) %>
    <%= f.input :date, :as => :hidden, :input_html => { :value => "placeholder" } %>
    <%= f.button :submit %>
<% end %>

  <script>

    $(document).ready(function(){
      $(document).on('click', ".btn3", function () {
        var datelist = $(".listb").text();
        document.getElementById('date').value = datelist;
      });
    });
</script>

【问题讨论】:

    标签: javascript jquery ruby-on-rails twitter-bootstrap datepicker


    【解决方案1】:

    你可以使用

    //这个version

    var datepicker = $('.datepicker').datepicker()
        .on('changeDate', function(e) {
    
           $('#date').val($(e.currentTarget).val());//1
           $('#date').val(datepicker.getDate());//2
    
        });
    

    //或bootstrap 3

    var datepicker = $('.datepicker').datepicker()
        .on('dp.change', function(e) {
    
           e = {
        date, //date the picker changed to. Type: moment object (clone)
        oldDate //previous date. Type: moment object (clone) or false in the event of a null
    
    }
    
    
        });
    

    【讨论】:

    • 这也有效:var datelist = $('.datepicker').datepicker('getDate');
    • var datelist = $('.datepicker').datepicker('getDate');怎么会破坏我的日期选择器配置?我看得很清楚,因为我将日期选择器设置为只允许选择月份。
    【解决方案2】:

    有趣的是,这是可行的:

    var datelist = $("input.datepicker").val();
    

    【讨论】:

      猜你喜欢
      • 2017-02-21
      • 1970-01-01
      • 2021-06-14
      • 2013-07-28
      • 1970-01-01
      • 1970-01-01
      • 2021-04-10
      • 2017-12-24
      • 2018-04-19
      相关资源
      最近更新 更多