Angularjs 我的Angular Select2下拉列表需要传递更多的值,而不仅仅是更改事件时选项的名称
我正在使用Angular-Select2,实际上我需要的是在更改时收集更多的值,而不仅仅是当前选择的选项的名称。 例如,如果选择了红色、蓝色和黄色选项,则当前值是这些值的数组。我想做的是在选择框下面显示本例中选择的所有颜色。到目前为止,它是有效的-颜色正在显示,当我从选择框中删除一个标记时,通过单击X符号,底部相应地更新 我需要进一步完成的是发送其他值,或者至少一个id,以便查询我的数据库。我知道,我可以将其包含在实际名称之前,然后将其删除到我的列表中,以便能够单独操作它,但是该id也会显示在下拉列表中以及所选选项中 如何进行?在显示文本选定选项文本的下方区域内,是否有任何内容可以附加到选项并发送和读取 我期待着这样的改变:Angularjs 我的Angular Select2下拉列表需要传递更多的值,而不仅仅是更改事件时选项的名称,angularjs,angular-ui-bootstrap,jquery-select2,ui-select2,angularjs-select2,Angularjs,Angular Ui Bootstrap,Jquery Select2,Ui Select2,Angularjs Select2,我正在使用Angular-Select2,实际上我需要的是在更改时收集更多的值,而不仅仅是当前选择的选项的名称。 例如,如果选择了红色、蓝色和黄色选项,则当前值是这些值的数组。我想做的是在选择框下面显示本例中选择的所有颜色。到目前为止,它是有效的-颜色正在显示,当我从选择框中删除一个标记时,通过单击X符号,底部相应地更新 我需要进一步完成的是发送其他值,或者至少一个id,以便查询我的数据库。我知道,我可以将其包含在实际名称之前,然后将其删除到我的列表中,以便能够单独操作它,但是该id也会显示在下
$scope.$watch('selectDiseaseState', function(newVal){
$scope.listDiagnosis = newVal;
});
编辑:如果混淆-这是多选下拉列表。
编辑:
select2标记:
<select id="mySel2" ng-model="selectDiseaseState" class="form-control" multiple="multiple" placeholder="Start typing a name of disease state...">
<optgroup ng-repeat="item in select" label="{{item.label}}">
<option ng-repeat="option in item.options">{{option.value}}</option>
</optgroup>
</select>
您需要使用对象数组而不是简单数组在ng选项绑定中绑定ng模型。然后,您可以在下拉列表中查看更改,新值将是包含所有属性的对象。
HTML
})
事实上,我没有提到我对类别使用optgroups,这反过来又使用一个单独的ng重复循环,其中有一个嵌套的选项循环另一件事,人们说ng选项与Select2+Angular不匹配,所以我使用这些嵌套的ng重复循环来创建带有适当选项的optgroups。
<div ng-app='app' ng-controller='controller'>
<select ng-model='selectDiseaseState' ng-options='item as item.Color for item in selectOptions'>
</select>
</div>
$scope.selectOptions = [
{Id: 1, Color: 'Red'},
{Id: 2, Color: 'Blue'},
{Id: 3, Color: 'Green'},
{Id: 4, Color: 'Yellow'}
];
$scope.selectDiseaseState = {};
$scope.$watch('selectDiseaseState', function(newVal){
$scope.listDiagnosis = newVal;
alert('Id: '+ $scope.listDiagnosis.Id + ' and Color: '+ $scope.listDiagnosis.Color);
});