从HTML获取Angular的未定义值

时间:2016-10-10 05:23:13

标签: javascript html angularjs node.js ejs

我使用ng-modal将值从HTML传递给Angular,但它在Angular中给我未定义。我通过ng-click传递值以将值传递给Angular,我在那里使用firebug选项来检查我在Angular的值。

 <div class ="row"> 
<div class="col-md-3 col-md-offset-1">
<p>Bid Price<input type= "text" class="form-control" name="Nbid" id="Nbid" ng-model ="Nbid"  pattern="[0-9]" style="width:90px" ></p>

<div class="col-md-5 col-md-offset-1"> <br> 
<p><button type="button" class="btn btn-primary" ng-click="placeBid(result.ITEM_CODE ,Nbid, result.ITEM_NAME, result.ITEM_DESC);" style="width:120px"> Place Bid</button></p></div</div> 

在Angular方面,代码为:

$scope.placeBid = function(ITEMCODE, Nbid, ITEM_NAME, ITEM_DESC){
$scope.value = ITEMCODE;
$scope.bidpr = Nbid;
$scope.ITEM_NAME = ITEM_NAME;
$scope.ITEM_DESC = ITEM_DESC;

console.log($scope.value);
console.log($scope.bidpr);
console.log($scope.ITEM_NAME);
console.log($scope.ITEM_DESC);

在Firebug控制台上我打印了这个值:

console.log($scope.value);     --->  15
console.log($scope.bidpr);     ---->  undefined
console.log($scope.ITEM_NAME);  ----> J.K TWINGING
console.log($scope.ITEM_DESC); ---- > SAHIL MON  MYSTERY 

我不确定我在代码中出错的地方,我可以看到出价的价值是未定义的。 Firebug Picture

HTML view

2 个答案:

答案 0 :(得分:1)

您在pattern="[0-9]"中使用input属性,根据这些属性,您只能在其中放入一位数字,因此我认为您在其中放置了多个数字{{1失去了它的数据。 删除ng-model然后重试。

答案 1 :(得分:0)

如果您使用的是ng-model,则无需将其作为函数参数传递。您可以通过

直接在控制器上访问当前值
$scope.Nbid;

参考:NgModel Documentation