如何从输入框内的角度js ng-if条件获取数据

时间:2017-07-30 18:38:54

标签: angularjs

我正在尝试使用angularjs表单提交ng-submit="method"

来获取角度js控制器中的数据

通常我可以使用alert()在控制器中看到所有数据。现在的问题是,如果我在角度形式中使用ng-if条件,则此特定字段值显示undefined。我怎么解决这个问题?

<div class="row" id="BarcodeDiv">

    <span ng-model="br" ng-init="br=1" id="br" style="display:none;"><i class="fa fa-etsy" aria-hidden="true"></i></span>

    <span ng-if="br==2">
        <div class="col-sm-6">
            <label>Serial Number</label>  <span ng-click="barCodeChanger()"  style="cursor:pointer;"><i class="icon-rotate-cw3"></i></i></span>
    <input type="text" name="Barcode" ng-model="Barcode1" class="form-control" placeholder="123">
</div>
<div class="col-sm-3">
    <label>From</label>
    <input type="text" name="StartFrom" ng-model="StartFrom" id="StartFrom" class="form-control" placeholder="4" style="padding:5px;">
</div>
<div class="col-sm-3">
    <label>To</label>
    <input type="text" name="ToEnd" ng-model="ToEnd" id="ToEnd" class="form-control" placeholder="9" style="padding:5px;">
</div>
</span>
<span ng-if="br==1">
            <div class="col-sm-12">
                <label>Serial Number</label> <span ng-click="barCodeChanger()" style="cursor:pointer;"><i class="icon-rotate-ccw3"></i></span>
<input type="text" name="Barcode" ng-model="Barcode" class="form-control" placeholder="123">
</div>
</span>

</div>

1 个答案:

答案 0 :(得分:0)

请注意,ng-if是范围true,因此vars不一定会显示在您的控制器中。尝试将ng-if替换为ng-show。你应该看到值。

但是,ng-ifng-show更有效 另一个选择是在控制器中创建对象,让我们说$scope.submitData = {}并绑定Barcode1,...通过这个对象。因此,在您的控制器中,您必须初始化`$ scope.submitData = {}',并在视图中将其引用为

ng-model='submitData.Button1