example DEMO
您可以在链接上方看到代码。
实际上,我想根据按钮组的输入来控制所有输入形式,其名称与按钮组名称相同。
例如,我将值放在'First'按钮右侧的输入表单中,
同时,所有名为'First'的输入形式都应该改变
只需按钮组输入一个。
抱歉我的英语能力差,希望你能理解!!
<div ng-app="app" ng-controller="AppCtrl">
// list group
<div>
<ul>
<li ng-repeat="item in items">
<span>{{item.name}}</span>
<input type="text" ng-model="price">
</li>
</ul>
</div>
// button group
<div>
<ul class="list-btn">
<li ng-repeat="btn in btns">
<button>{{btn}}</button>
<input type="text" ng-model="price_all">
</li>
</ul>
</div>
</div>
angular.module('app', [])
.controller('AppCtrl', ['$scope', function ($scope) {
$scope.items = [
{id: 1, name: 'First'},
{id: 2, name: 'Second'},
{id: 3, name: 'Third'},
{id: 4, name: 'First'},
{id: 5, name: 'Second'},
{id: 6, name: 'Third'},
{id: 7, name: 'First'},
{id: 8, name: 'Second'},
{id: 9, name: 'Third'},
]
$scope.btns = ['First', 'Second', 'Third'];
}])
答案 0 :(得分:0)
由于ng-model重复insisde li标签,双向绑定只能在li标签内部工作,而不能在li标签之外。所以,你需要使用onkeyup事件。
fiddlder中的工作解决方案 - https://jsfiddle.net/fcoLmd2n/
在html中执行以下更改:
function Update(obj)
{
var className = obj.getAttribute('btnType');
var txtBoxElements = document.getElementsByClassName(className);
for(var i=0;i<txtBoxElements.length;i++)
{
txtBoxElements[i].value= obj.value
}
}
Js文件中的更改:
while (std::cin.fail())
{
std::cout << "Wrong input! Please enter your number again: ";
std::cin.clear();
std::cin.ignore();
std::cin >> credits;
}
使用Jquery进行优化