我有一个从数据库中提取下拉选项的工厂:
app.factory('populateDDL', function($http) {
'use strict';
return function (tbl,key) {
var json,
data = JSON.stringify({
sKey: key,
sTableName: tbl
});
return $http.post('util.asmx/populateDDL',data).
then(function(response) {
return JSON.parse(response.data.d);
});
};
});
然后,我将该数据应用于控制器中的下拉列表/选择:
app.controller('userSettings', function($scope, $http, populateDDL) {
$scope.clinicLocations = new populateDDL('locations',key).
then(function(response) {
console.log(response);
$scope.clinicsDDL = response.locations;
$http({
url: 'util.asmx/returnUser',
method: 'POST',
data: {sUserId: uid},
})
.success(function(user) {
$scope.user = user.d;
})
.error(function(data, status, headers, config) {
console.log(data+', '+status+', '+headers+', '+config);
});
});
});
下面是select标记的外观:
<select ng-model="clinicsDDL.item" ng-options="item.name for item in clinicsDDL track by item.id" ngRequired />
放入$scope的下拉列表数据。临床DDL如下所示:
[{
"id": "19",
"name": "other clinic"
}, {
"id": "39",
"name": "My clinic"
}]
从 DB 返回的用户数据如下所示:
{
"__type": "User",
"FirstName": "Erik",
"LastName": "Grosskurth",
"DefaultLocationId": "39"
}
在我的控制器中,我填充了下拉列表/选择,然后我获取了一个用户ID并将其提交给DB以获取用户信息。这些用户信息会返回。然后,我想根据DB返回的“DefaultLocationId”从先前填充的列表中选择一个特定的选项。
我该怎么做呢?
$scope.clinicsDDL.item = $scope.clinicsDDL[0];
^^^不起作用,因为我不能依赖数组总是相同的形式。我需要基于“DefaultLocationId”而不是整数来定位数组项。
在jQuery中,您可以使用$('#clinicsDDL option[value="19 " ')来定位选择器。do something();
我以为它会像这样在角度上像这样:
$scope.clinicsDDL.item = $scope.clinicsDDL[value="19"];
^^^,但这也不起作用
预选仅使用引用。当您要选择一个元素并且不知道哪个字段包含它时,则必须搜索它。而不是使用数组.filter()你应该使用洛达什的查找函数(https://lodash.com/docs#find)
//preselect DefaultLocationId 39
$scope.clinicsDDL.item = _.find($scope.clinicsDDL, {DefaultLocationId : 39});
_.查找(...)将在找不到任何项目时返回undefined。所以您可以不定义它,或者使用默认值,比如
$scope.clinicsDDL.item = _.find($scope.clinicsDDL, {DefaultLocationId : 39}) || $scope.clinicsDDL[0];
我想在选择另一个select元素的一个选项时显示一个select元素,在选择另一个选项时隐藏它。 这是JavaScript: 感谢任何帮助。谢谢
我有一个目标如下。我必须将其显示为下拉列表: 在我的控制器中,我有一个携带值的变量。该值决定了在下拉列表中默认选择阵列中上述三项中的哪一项: 当我创建下拉表单项时,如下所示: 我面临两个问题: > 而不是 默认情况下,即使我有
问题内容: 我创建了一个客户c#DropDownList控件,可以将其内容呈现为optgroup(不是从头开始,我编辑了一些在Internet上找到的代码,尽管我确切地了解了它的作用),并且工作正常。 但是,我现在遇到一种情况,我需要在下拉菜单中有两个缩进级别,即 但是,在上面的示例代码段中,它呈现的缩进量与相同。 有没有一种方法可以产生我想要的嵌套optgroup行为? 问题答案: 好的,如果有
我正在尝试添加选项到一个动态选择输入,依赖于在另一个选择下拉菜单中选择的值。 我已经设法在选择父级中的值时填充数据对象。所有的my触发器也会被执行,子select被禁用,它应该包含数据对象中的所有值,但是它没有填充任何选项。 JS(Coffeescript)代码段: 最后一节特别重要,因为这是JSON数据对象应转换为新选项的地方。下面是在一种情况下响应的对象(根据Firebug): 在本例中,儿童
我有一个用来选择某些元素的代码,当你点击geticon按钮并显示正确的选项值时,该代码工作得很好。问题是我不确定如何显示下拉菜单的选择选项值(而不是按钮)。 这是我的Jsfiddle null null
下面是我得到的错误。 下面是HTML DOM