【发布时间】:2017-12-11 20:34:39
【问题描述】:
我有一个控制器,它根据第一个下拉框的选择填充第二个下拉框,尽管 WebStorm 将其视为语法错误,但效果很好。 我知道想将格式 fname 的 ID 发布到我的会话存储中以在其他地方使用,但是我尝试了下面的代码,我看到 Value as
[对象对象]
如果我使用
sessionStorage.setItem('format', $scope.formats);
和
未定义
如果我使用
sessionStorage.setItem('format', $scope.formats.id);
我也试过了
sessionStorage.setItem('format', $scope.formats.formatType.id);
我什至没有得到任何空值
如何正确地将 ID 添加到会话存储中的格式值?
完整代码
FirstModule.controller('dropDown', function ($scope) {
$scope.productsandformats = [
{
"name": "staff",
"format": [
{"Fname": "bill", "id": "1"},
{"Fname": "bob", "id": "2"},
{"Fname": "tom", "id": "3"}
]
},
{
"name": "managers",
"format": [
{"Fname": "dick", "id": "4"},
{"Fname": "jhon", "id": "5"}
]
},
{
"name": "directors",
"format": [
{"Fname": "willy", "id": "6"}
]
},
{
"name": "temp",
"format": [
{"Fname": "jeff", "id": "18"},
{"Fname": "billy", "id": "19"}
]
}];
$scope.productTypeChange = function () {
$scope.formats = $scope.productsandformats.find(ps => ps.name == $scope.formData.ProductType.name)
sessionStorage.setItem('format', $scope.formats.id);
}
});
为了进一步解释我如何获得 ID,下面的代码使用户能够从名称类型中选择一个 fname,例如,如果选择员工你得到 bill、bob 和 tom,那么在你选择一个之后,将打印出选定的名称和 fname,包括 fname id,fname id 是我需要发送到会话存储的内容
HTML
<div class="radio col-sm-6" style="margin-top: 0 !important;">
<label>
<input type="radio" ng-model="formData.type" value="Create" >
<span class="glyphicon glyphicon-unchecked">
</span>
Need to make a poster?
</label>
</div>
<div class="radio col-sm-6">
<label>
<input type="radio" ng-model="formData.type" value="Preview">
<span class="glyphicon glyphicon-eye-open">
</span>
Already have a poster?
</label>
</div>
【问题讨论】:
标签: javascript angularjs session-cookies