我遇到了解决这个问题的麻烦;所以当我点击一个按钮时,我需要让我的选择框填充确切的值:
我解释说: 在这段代码中我有我的选择框(查看HTML):<label for="tag" class="col-sm-4 control-label">Paramètres</label>
<div class="col-sm-8">
<select class="form-control input-sm" ng-model="editTag" required>
<option ng-repeat="tag in listTags" value="{{tag}}" ng-disabled="affectDisabled(tag.disabled)">{{tag.libelle}}</option>
</select>
</div>
在我的视图中我需要value =“{{tag}}”而不是value =“{{tag.libelle}}”因为我在另一个函数中使用此模型,我需要具有其所有属性的对象。 这是我的按钮:
<li ng-repeat="var in tagStyles">
<button type="button" class="btn label-info btn-xs" ng-click="editionModifierTag(var)">
<i class="fa fa-pencil-square-o"/>
</i>
</button>
</li>
单击时,指令ng-click会触发带参数的函数editionModifierTag(var)。
这是我在控制器中的功能:
$scope.editionModifierTag = function(parameter) {
for (var i = $scope.listTags.length - 1; i >= 0; i--) {
if (parameter.tag === $scope.listTags[i]._id) {
$scope.listTags[i].disabled = false;
$scope.temp = {};
$scope.temp.libelle = parameter.tagName;
$scope.temp._id = parameter.tag;
$scope.temp.__v = 0;
console.log('temp ===>');
console.log($scope.temp);
$scope.editTag = JSON.stringify($scope.temp);
console.log('editTag ==>');
console.log($scope.editTag);
$scope.policeList = parameter.police;
$scope.tailleList = parameter.taille;
$scope.interligneList = parameter.interligne;
$scope.weightList = parameter.styleValue;
$scope.colorList = parameter.coloration;
}
}
};
在这个函数中,我将$ scope.editTag设置为在按钮中单击的标记的值,但是选择框没有显示该值。
任何人都可以帮助我吗