首页 > 解决方案 > 如何使用 angularjs 和 $localStorage 为 select2 初始化默认值

问题描述

我使用select2,在我的项目中$localStorageangularjs我想将我的 $localstorage 的值作为默认值,但是当我尝试这个时

$('.select').val($localStorage.f.tab.idSelect).trigger('change'); 

它不起作用它不显示我的默认值我的选择多个有同样的问题

$('.selectSec').val($localStorage.f.tab.selectSecArray).trigger('change'); 

这是我的 .aspx 文件

<select class="form-control select">
    <option value="">---Please select---</option>
    <option ng-repeat="option in test" value="{{option.testid}}">{{option.testname}}</option>
</select>

<select class="form-control selectSec" name="secs[]" multiple="multiple">
    <option value="">---Please select---</option>
    <option ng-repeat="option in secs" value="{{option.secid}}">{{option.secname}}</option>
</select>

这是我的 app.js

app.controller('AppCtrl', function ($scope, $http, $localStorage) {
    $http.get("url1").then(function (response) {
        $scope.test= response.data.Liste
    })

    $http.get("url2").then(function (response) {
        $scope.secs= response.data.Liste
    })

    $('.select').val($localStorage.f.tab.idSelect).trigger('change');
    $('.selectSec').val($localStorage.f.tab.selectSecArray).trigger('change'); 

    jQuery(".select").change(function (e) {
        if (e.target.value == "")
            console.log("null")
        else
           $localStorage.f.tab.idSelect = e.target.value
   }) // I do the same for the multiple select
})

什么时候这样做它不起作用但是如果我在我的 .select 中添加这个选项

测试NB 20

我这样做

$localStorage.f.tab.idSelect = 20
$('.select').val($localStorage.f.tab.idSelect).trigger('change'); 

它工作得很好,所以我怎样才能让我的select2与我的angularjs和我的一起工作$localstorage

标签: javascriptangularjsjquery-select2angular-local-storage

解决方案


推荐阅读