2014-04-25 58 views
0

我一直在使用角度,事情是,我把這個ng模型是一個文本輸入,並在同一時間,我用這個自動完成指令,問題是我想要改變輸入的值,只要從自動完成中選擇一些,而不是隻在需要描述的時候才輸入數字,問題是當我把所有數字改變爲這樣,我想,可能有人幫助我,這是代碼 $ scope.trailer = {

options: { 
    minLength:2, 
    html: true, 
    source:"controllers/search.php?catalogo=trailers", 

    select: function(event, ui){ 
     console.log(ui);  
     //$(this).val(ui.item.desc+' '+ui.item.clave).change(); 
     $scope.formData.trailerid = ui.item.id; 
     $scope.formData.trailerclave = ui.item.clave; 
     $scope.formData.trailerdueno = ui.item.propietario; 
     $scope.formData.trailer = ui.item.desc;//+' '+ui.item.clave; 

     return false; 
    }, 
    change: function (event, ui) { 
     if (ui.item == null) { 
      $scope.formData.trailerid = 0 ; 
      $scope.formData.trailerdueno = ''; 
      $scope.formData.trailerclave = ''; 
      $scope.formData.trailer = ''; 
     } 
    } 
}, 
methods: {} 

} 

和HTML

<input type="text" class="form-control trailer" ng-model="formData.trailer" ui-autocomplete = "trailer" /> 
             <span class="help-block">{{formData.trailer}}</span> 

回答

0

有時我發現如果我使用的是一個函數或事件,它是外部插件的一部分,而不是與Angular相關,我需要在$ scope中包裝它們中的任何內容。$ apply(function(){});

options: { 
minLength:2, 
html: true, 
source:"controllers/search.php?catalogo=trailers", 

select: function(event, ui){ 
$scope.$apply(function(){ 
    console.log(ui);  
    //$(this).val(ui.item.desc+' '+ui.item.clave).change(); 
    $scope.formData.trailerid = ui.item.id; 
    $scope.formData.trailerclave = ui.item.clave; 
    $scope.formData.trailerdueno = ui.item.propietario; 
    $scope.formData.trailer = ui.item.desc;//+' '+ui.item.clave; 
}); 
    return false; 
}, 
change: function (event, ui) { 
    if (ui.item == null) { 
    $scope.$apply(function(){ 
     $scope.formData.trailerid = 0 ; 
     $scope.formData.trailerdueno = ''; 
     $scope.formData.trailerclave = ''; 
     $scope.formData.trailer = ''; 
    }); 
    } 
} 
}, 
methods: {} 

} 
+0

什麼也沒發生:(,你覺得我必須把UI-autoomplete指令裏面?或者有用於初始化控制器範圍的方式?THX你樣的反應 – user3384672

+0

謝謝,顯然問題出在修改函數中,我只是把這個'$ scope.formData.trailer = ui.item.desc;'加到它的開頭,非常感謝你的回答 – user3384672