【发布时间】:2015-01-21 10:18:41
【问题描述】:
我使用ng-options 选择了一个包含多个选项的选择列表。我使用它如下:
<select ng-options="c as c.Text for c in ReceiverList track by c.Value" ng-model="ReceiverUserID" class="form-control" id="ddlReceiverUserID" ng-change="GetWorkers(ReceiverUserID, SenderUserID,'receiver')">
<option value="">--Select Supervisor--</option>
</select> <!-- Parent Drop Down-->
<select multiple ng-options="c as c.Text group by c.Group
for c in receiveList track by c.Value" ng-model="Workers"
class="form-control" id="ddlWorkers" size="10">
</select> <!-- Child Drop Down -->
当我从另一个下拉列表中选择某些项目时,此选择下拉列表会被填充。(这是一种级联下拉列表)。填写如下:
$scope.GetWorkers = function (objA, objB, ddlType) {
$http.post("user/Workers/", { userID: objA.Value })
.success(function (data, status, headers, config) {
if (ddlType == 'sender') {
$scope.sendList = data;
} else {
$scope.receiveList = data;
$('#ddlWorkers optgroup[label="Current Users"] option').prop('disabled', true); // Not working
}
})
.error(function (data, status, headers, config) {
showToast(ToastType.error, "Error occured while fetching workers.", "Failure");
});
}
我想禁用子下拉菜单的特定组项。所以我尝试了下面的代码,但它不起作用:
$('#ddlWorkers optgroup[label="Current Users"] option').prop('disabled', true);
我不知道如何在数据更改或加载新数据时禁用特定的 select 组项。
这是我想要禁用所有 optgroup[label="Current Users"] 成员的 HTML 输出:
<select multiple="" ng-options="c as c.Text group by c.Group for c in receiveList track by c.Value" ng-model="Workers" class="form-control ng-pristine ng-valid" id="ddlWorkers" size="10">
<optgroup label="Current Users">
<option value="4118">Kevins Numen</option>
<option value="4119">ggdfg fdgdfg</option>
</optgroup>
<optgroup label="New Users">
<option value="1093">Case Worker</option>
</optgroup>
</select>
【问题讨论】:
-
@Sadikhasan 抱歉,这对我帮助不大。我已经实现了级联下拉菜单。
-
您能否发布从您的 html 生成的输出,其中还包含
option标记?您可以通过 chrome 开发者工具或 firebug 等获取它。 -
@TahaPaksu 在这里
标签: javascript jquery angularjs ng-options