2016-04-25 179 views
0

我正在使用ui-select2,版本3.5.2,嘗試執行單個選擇,提前輸入並從REST API中檢索下拉列表。 看起來它正在工作,除了一個主要問題,即ng模型的屬性被設置爲對象{Id: "some id", text: "some text"}而不是實際的Id屬性。我無法弄清楚如何告訴ui-select2控件將ng-model屬性設置爲對象的「Id」字段,而不是整個對象。 我已經嘗試了各種黑客與觀察員,但沒有得到任何地方。我確信有些東西是我錯過的,因爲這是應該可以輕鬆實現的。UI-Select2綁定到對象而不是對象的屬性

這裏是我的javascript代碼

$scope.selectOptions = { 
       placeholder: '- Select Value -', 
       allowClear: true,     
       minimumInputLength: 2, 
       initSelection: function (element, callback) 
       { 
        if ($scope.myobj && $scope.myobj.Id && $scope.myobj.Id !== '00000000-0000-0000-0000-000000000000') 
        { 
         $.ajax("../../api/objs/" + $scope.myobj.Id).done(function (data) { 
          var res = $(data).map(function (i, o) { 
           return { 
            id: o.Value, 
            text: o.Display 
           }; 
          }).get();        
          callback(res[0]);               
         }); 
        } 
       }, 
       ajax: 
       { 
        type: "GET", 
        url: function (term) { 
         return ["../../api", "objs", encodeURIComponent(term)].join("/"); 
        }, 
        dataType: "json", 
        contentType: "application/json", 
        cache: false,      
        results: function (data, page) { 
         return { 
          results: $(data).map(function (i, o) { 
           angular.extend(o, { 
            id: o.Value, 
            text: o.Display 
           }); 
           return o; 
          }).get() 
         }; 
        } 
       } 
      } 

這裏是我的的html代碼

<div ui-select2='selectOptions' ng-model="myobj.Id" style="width:215px" /> 

回答

0

我解決這個得通過結合到一個單獨的屬性,然後添加NG-改變我的div和綁定屬性的id字段同步到我的對象上的實際屬性。

相關問題