【问题标题】:Parsing JSON Date to Bootstrap datepicker control将 JSON 日期解析为 Bootstrap 日期选择器控件
【发布时间】:2017-05-11 19:54:01
【问题描述】:

以下 sn-ps 显示了一个引导日期选择器控件。我有一个 JSON 数组,我正在显示它的解析结果,我如何将它安装到输入文本框并保持它与日期选择器的兼容性,这意味着当您单击该字段时,您将看到下拉日历中选择的日期

我尝试解析日期,例如 $.datepicker.parseDate('d/m/yy', new Date((obj[0].DOB.match(/\d+/)[0] * 1))); 但没有用 谢谢

 d='[{"DOB":"\/Date(1512460800000)\/"}]'
 var obj = $.parseJSON(d)
 console.log(new Date((obj[0].DOB.match(/\d+/)[0] * 1)))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>

<!-- Isolated Version of Bootstrap, not needed if your site already uses Bootstrap -->
<link rel="stylesheet" href="https://formden.com/static/cdn/bootstrap-iso.css" />

<!-- Bootstrap Date-Picker Plugin -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/css/bootstrap-datepicker3.css"/>

<div class="bootstrap-iso">
 <div class="container-fluid">
  <div class="row">
   <div class="col-md-6 col-sm-6 col-xs-12">

    <!-- Form code begins -->
    <form method="post">
      <div class="form-group"> <!-- Date input -->
        <label class="control-label" for="date">Date</label>
        <input class="form-control" id="date" name="date" placeholder="MM/DD/YYY" type="text"/>
      </div>
      <div class="form-group"> <!-- Submit button -->
        <button class="btn btn-primary " name="submit" type="submit">Submit</button>
      </div>
     </form>
     <!-- Form code ends --> 

    </div>
  </div>    
 </div>
</div>
<script>
    $(document).ready(function(){
      var date_input=$('input[name="date"]'); //our date input has the name "date"
      var container=$('.bootstrap-iso form').length>0 ? $('.bootstrap-iso form').parent() : "body";
      var options={
        format: 'mm/dd/yyyy',
        container: container,
        todayHighlight: true,
        autoclose: true,
      };
      date_input.datepicker(options);
    })
</script>

【问题讨论】:

    标签: jquery json bootstrap-datepicker


    【解决方案1】:

    这样做: date_input.datepicker("update", this_date); 将更新日期选择器中的日期。由于它接受Date 对象,它将保持日期与日期选择器兼容。

    $(document).ready(function() {
      d = '[{"DOB":"\/Date(1512460800000)\/"}]'
      var obj = $.parseJSON(d)
      var this_date = new Date((obj[0].DOB.match(/\d+/)[0] * 1))
      console.log(new Date((obj[0].DOB.match(/\d+/)[0] * 1)))
    
    
      var date_input = $('input[name="date"]'); //our date input has the name "date"
      var container = $('.bootstrap-iso form').length > 0 ? $('.bootstrap-iso form').parent() : "body";
      var options = {
        format: 'mm/dd/yyyy',
        container: container,
        todayHighlight: true,
        autoclose: true,
      };
      date_input.datepicker(options);
      date_input.datepicker("update", this_date);
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
    
    <!-- Isolated Version of Bootstrap, not needed if your site already uses Bootstrap -->
    <link rel="stylesheet" href="https://formden.com/static/cdn/bootstrap-iso.css" />
    
    <!-- Bootstrap Date-Picker Plugin -->
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/js/bootstrap-datepicker.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.4.1/css/bootstrap-datepicker3.css" />
    
    <div class="bootstrap-iso">
      <div class="container-fluid">
        <div class="row">
          <div class="col-md-6 col-sm-6 col-xs-12">
    
            <!-- Form code begins -->
            <form method="post">
              <div class="form-group">
                <!-- Date input -->
                <label class="control-label" for="date">Date</label>
                <input class="form-control" id="date" name="date" placeholder="MM/DD/YYY" type="text" />
              </div>
              <div class="form-group">
                <!-- Submit button -->
                <button class="btn btn-primary " name="submit" type="submit">Submit</button>
              </div>
            </form>
            <!-- Form code ends -->
    
          </div>
        </div>
      </div>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-29
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      相关资源
      最近更新 更多