【发布时间】:2019-10-30 15:51:29
【问题描述】:
我正在尝试将所选日期从 Bootstrap 日期选择器传递到 Javascript 代码。另外,默认情况下,日期选择器应该选择今天的日期。
目前,当单击搜索按钮时,当前日期会显示在警报中。但是,我在将其绑定到日期选择器时遇到了麻烦。我错过了什么/做错了什么?
日期选择器代码:
<form class="form form-horizontal" style="background-color:white">
<div class="form-group">
<div class="col-lg-2">
<div class="input-group addon">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
<input id="searchDate" readonly style="cursor: pointer;" data-bind="datePicker: SearchDate" class="form-control pad-bottom-when-small" type="text" data-provide="datepicker" data-date-format="dd/mm/yyyy" data-date-autoclose="true"/>
</div>
</div>
<div class="col-lg-3">
<button class="btn btn-success" onclick="search()">Search</button>
</div>
</div>
</form>
我的数据绑定尝试:
<script>
ko.applyBindings({
SearchDate: ko.observable(moment().toDate()),
});
</script>
<script type="text/javascript">
self.SearchDate = ko.observable(moment().toDate());
function search() {
alert(self.SearchDate());
}
</script>
【问题讨论】:
-
我们无法回答,除非您提供更多信息,例如您正在使用的日期选择器库,向我们展示您调用所述日期选择器的自定义绑定处理程序,也许创建一个代码 sn-p 或 jsfiddle 向我们展示一个完整的例子,从你所拥有的东西中学习比我们自己找出这一切要容易得多
-
@Sam 抱歉,更新了 OP 以提及它的 Bootstrap 日期选择器。绑定处理程序是什么意思?我已经包含了到目前为止的
ko.applyBindings。 -
这段代码
data-bind="datePicker: SearchDate"意味着在您的项目中存在一个名为datePicker的绑定处理程序,并且您正在为它提供来自VM 的observable。我们想看看。