Angularjs 雙層連動下拉選單應用(二)

實際運用中,有時須要Default值,如修改資料....等等的。這裡我找到了兩個方式實作,但我覺得還不是最完美的解法...持續研究中

繼續以之前的文章 Angularjs 雙層連動下拉選單應用(二) 來實作Default 值的下拉選單。

方式一,比較簡單也比較正確,網路上找到的大都是這個方式來設定預設值

假如載入後我預設的資料要為 城市:基隆市 區域:暖暖區205。將底下程式碼就可以了


 $scope.SelCity= $scope.Citys[2]; //陣列index
 $scope.level2=$scope.Citys[2].areas;
 $scope.SelArea= "暖暖區205";

完整範例 http://jsbin.com/iYEdOBI/51/edit

 

但是如果從資料庫取出資料,不太可能是陣列的index值,以本例來說。因該都會存真實的值。網路上找了很久,發現這樣的寫法可以達到我要的目的,但絕對不是最好的寫法,因為如果陣列比較大,這會很耗資源的。


for (var i = 0; i < $scope.Citys.length; i++) {
    if ($scope.Citys[i].name == "基隆市") { 
        $scope.SelCity = $scope.Citys[i];
        $scope.level2 = $scope.Citys[i].areas;
        $scope.SelArea="暖暖區205"; 
        break;
    }
}

這樣就可從資料庫抓去資料去設定預設的下拉選單的值。這不是最好的方式,持續研究與找尋中~

完整範例 http://jsbin.com/iYEdOBI/48/edit