加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

什么是AngularJS中的Jquery $(this).val()等价物?如果更新后输

发布时间:2020-12-17 17:37:17 所属栏目:安全 来源:网络整理
导读:script$(document).on('change','.botentry',function () { if ($(this).val() == "") { $(this).val(0); }});/script 我的HTML代码是 tbody id=" tbody_Buid" ng-if="cstate!=''" tr ng-repeat="b in BottomsUpData | filter:{qtr: cqtr,state: cstate} | f
<script>
$(document).on('change','.botentry',function () {
    if ($(this).val() == "") {
        $(this).val(0);
    }
});
</script>

我的HTML代码是

<tbody id=" tbody_Buid" ng-if="cstate!=''">
    <tr ng-repeat="b in BottomsUpData | filter:{qtr: cqtr,state: cstate} | filter:searchData | orderBy:['-mtmsegment','bizgroup']" style="text-align:center">
      <td><div>{{b.bizgroup}}</div></td>
      <td><div>{{b.mtmsegment}}</div></td>
      <td><div>{{b.family}}</div></td>
      <td><div>{{b.series}}</div></td>
      <td><div>{{b.formfactor}}</div></td>
      <td><div><span ng-if="!b.freeze.m1 || !b.m1.isEdit">{{b.m1.value}}</span><input class="botentry" ng-if="b.freeze.m1 && b.m1.isEdit" ng-model="b.m1.value" ng-blur="buTotCalc()" type="number" /></div></td>
      <td><div><span ng-if="!b.freeze.m2 || !b.m2.isEdit">{{b.m2.value}}</span><input class="botentry" ng-if="b.freeze.m2 && b.m2.isEdit" ng-model="b.m2.value" ng-blur="buTotCalc()" type="number" /></div></td>
      <td><div><span ng-if="!b.freeze.m3 || !b.m3.isEdit">{{b.m3.value}}</span><input class="botentry" ng-if="b.freeze.m3 && b.m3.isEdit" ng-model="b.m3.value" ng-blur="buTotCalc()" type="number" /></div></td>
      <td><div>{{b.m1.value+b.m2.value+b.m3.value}}</div></td>
    </tr>
  </tbody>

我添加了这段代码以避免在输入框中输入空字段,但它不能与AngularJs一起使用,Jquery值零不与angularjs ng-model绑定.

解决方法

创建自定义指令(check-Empty),如下所示,并将此指令添加到HTML代码中

<tbody id=" tbody_Buid" ng-if="cstate!=''">
<tr ng-repeat="b in BottomsUpData | filter:{qtr: cqtr,'bizgroup']" style="text-align:center">
  <td><div>{{b.bizgroup}}</div></td>
  <td><div>{{b.mtmsegment}}</div></td>
  <td><div>{{b.family}}</div></td>
  <td><div>{{b.series}}</div></td>
  <td><div>{{b.formfactor}}</div></td>
 <td><div><span ng-if="!b.freeze.m1 || !b.m1.isEdit">{{b.m1.value}}</span> 
     <input class="botentry" ng-if="b.freeze.m1 && b.m1.isEdit" ng-model="b.m1.value" ng-blur="buTotCalc()" type="number"  check-Empty /></div></td> 
 <td><div><span ng-if="!b.freeze.m2 || !b.m2.isEdit">{{b.m2.value}}</span><input class="botentry" ng-if="b.freeze.m2 && b.m2.isEdit" ng-model="b.m2.value"  ng-blur="buTotCalc()" type="number" check-Empty /></div></td>
 <td><div><span ng-if="!b.freeze.m3 || !b.m3.isEdit">{{b.m.value}}</span><input class="botentry" ng-if="b.freeze.m3 && b.m3.isEdit" ng-model="b.m3.value"  ng-blur="buTotCalc()" type="number" check-Empty/></div></td>
</tr>

将此指令添加到您的代码中

myApp.directive('checkEmpty',function () { 
    return { 
        restrict: 'A',link: function (scope,element,attrs) { 
            element.bind('change',function () { 
                if (element.val() == "") { 
                    element.val(0).triggerHandler('input'); 
                } 
            }) 
        } 
    } 
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读