【问题标题】:Jquery bootstrap datepicker not taking modal as it's parentJquery bootstrap datepicker没有将模态作为它的父级
【发布时间】:2015-03-19 05:22:27
【问题描述】:

我有一个可滚动的引导模式,我知道内容太长而不能成为模式,但我对此无能为力。

问题是我在该模态中有一个 jQuery 日期选择器,但它以主体为父级,并且仅随主体而不是模态滚动。我希望日期选择器在模式中滚动时保持原位。

我已经尝试了一些技巧,将模态的位置从固定到绝对,但如果日期选择器将主体作为其父级,则它将不起作用。

模式正在被 MVC 调用:

@Helpers.modal_common(
  modalId = "someid", 
  modalTitle = "sometitleforthemodal"
 ) {

我正在调用日期选择器:

    <label class="control-label col-sm-3"> Date: </label>
          <div class="col-sm-5" data-bind="validationOptions:{ insertMessages: false }">
            <div class='input-group date' data-bind="newdatetimepicker: expiry,
                     dateTimePickerOptions: {format: 'MM/DD/YYYY', pickTime: false}">
              <input type='text' readonly class="form-control" />
              <span class="input-group-addon">
                <span class="fa fa-calendar"></span>
              </span>
            </div>                
          </div>

新的日期时间选择器代码:

ko.bindingHandlers.newdatetimepicker = {
  init: function (element, valueAccessor, allBindingsAccessor) {
     allBindings = allBindingsAccessor();
     var options = {
          format: 'MM/DD/YYYY',
          defaultDate: ko.utils.unwrapObservable(valueAccessor())
      };
 ko.utils.extend(options, allBindings.dateTimePickerOptions)
$(element).datetimepicker(options).on("change.dp", function (evntObj) {
  var observable = valueAccessor();
  if (evntObj.timeStamp !== undefined) {
    var picker = $(this).data("DateTimePicker");
    var d = picker.getDate();
    observable(Date.parse(d));
  }
 });
 },
   update: function (element, valueAccessor) {
     var value = ko.utils.unwrapObservable(valueAccessor());
     $(element).data("DateTimePicker").setDate(value);
    } 
  };

这是我正在谈论的代码笔示例http://codepen.io/anon/pen/bNWvRv

任何帮助都会很棒!

【问题讨论】:

    标签: jquery twitter-bootstrap model-view-controller knockout.js playframework


    【解决方案1】:

    日期选择器控件使用固定定位将弹出窗口放置在与日期选择器触发器相关的所需位置。固定定位意味着无论内容滚动到哪里,它都保持在屏幕上的同一位置。如果您尝试覆盖定位,您会发现行为开始变得怪异。

    为什么您希望日期选择器在您滚动时滚动?如果您正在滚动并希望控件可能滚动到屏幕外,那么您可能不需要打开它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多