angularjs的ng-model取不到值

yaotomo 2017-02-06 10:00:16
第三方控件绑定的下拉框和日期选择框(bootstrap-select和bootstrap-datetimepicker),ng-model绑定后无论选项怎么变化js里获取值都为undefined,但如果换成用原生的textbox就没有问题。用第三方的必须手工输入才可以获取到值。

<div class="form-group col-sm-3">
<label class="control-label col-sm-4">起始日期</label>
<input type="text" ng-model="begindate" class="form_datetime form-control col-sm-8">
</div>


$scope.click = function(){
console.log($scope.begindate); //undefined
}

是不是$apply要执行一下?
在网上找了下面这个,试了一下管用,但不能每个控件都这么写一遍吧

var date = getdate('yyyy-mm-dd',0);
$(".form_datetime").datetimepicker({
minView: 'month',
language: 'zh-CN',
format: 'yyyy-mm-dd',
todayBtn: 1,
autoclose: 1
}).val(date).on('hide',function(){
var $this = $(this);
var _this = this;
$scope.$apply(function(){
$scope[$this.attr('ng-model')] = _this.value;
});
});
...全文
760 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaotomo 2017-11-07
  • 打赏
  • 举报
回复
谁回复一下好结贴
functionsub 2017-11-07
  • 打赏
  • 举报
回复
directives.directive('dateDirective',[function(){
    return {
        restrict: "A",
        require: "?ngModel",
        link: function($scope, $ele, $attrs, $ngModel) {
            $ele.on('changeDate',function(e){
                $scope.$apply(function() {
                    var val = e.date.format('yyyy-MM-dd');;
                    $ngModel.$setViewValue(val);
                })
            });
            var _oldRender = $ngModel.$render;
            $ngModel.$render = function() {
                _oldRender && _oldRender();
                $ele.val() != $ngModel.$viewValue && $ele.val($ngModel.$viewValue || "");
            }
        }
    }
}]);
用这个指令重写$render
yaotomo 2017-02-08
  • 打赏
  • 举报
回复
自己用另外一种方式实现了

         $(".form_datetime").on('changeDate',function(e){
               $scope.begindate= e.date.format('yyyy-MM-dd');
               $scope.$apply();
          });
但是不管是这种还是上面的那种,都不是在控件初始化的时候触发的,因此取不到初始值(当前时间),bootstrap datepicker的官方文档上也没有控件初始化的事件,不知道怎么样才能取到。 另外还有bootstrap select,ng-model同样取不到值,但是换成普通的select标签就没有问题 在项目中这些第三方的UI控件应该很常用吧,应该怎么做呢

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧