我确信这个问题已经多次以某种形式得到了回答,但我不确定要搜索什么来找到解决方案。
假设我们有一个简单的ng-repeat:
<div ng-repeat="item in items">
<input type="text" value="{{item.name}}">
<a ng-click="getTxtBoxVal(whatDoIPassInHere)">Get Text Box Value</a>
</div>
在javaScript文件中:
function $scope.getTxtBoxVal(val) {
alert(val)
}
基本上我想知道whatDoIPassInHere
参数应该传递什么,jquery中的参数类似于:$(this).siblings(input).val()
我确实有一个解决方法,即为每个文本框提供唯一的ID:
<input type="text" id="myTextBox_{{index}}" value="{{item.name}}
&GT;
并使用唯一ID定位它,但我确信有更优雅的方式来处理此
答案 0 :(得分:5)
您没有将输入与模型相关联,因此angular不知道如何引用该值。 See this plunkr for how to accomplish what you are asking
<强>控制器强>
$scope.things = [
{
'name': 'apple',
'value': '12',
'isTasty': true
},
{
'name': 'tire',
'value': '7',
'isTasty': false
},
{
'name': 'carrot',
'value': '9',
'isTasty': false
},
{
'name': 'cake',
'value': '1',
'isTasty': true
}
];
$scope.getVal = function (value) {
alert(value);
};
查看强>
<div ng-repeat="item in things">
<input type="text" ng-model="item.name" value="{{item.name}}">
<a href="#" ng-click="getVal(item.name)">Get Text Box Value</a>
</div>