2015-06-05 44 views
-1

我有一個腳本,查詢我的服務器以獲取各種值。在UI中 - 有一個JQuery滑塊輸入,用戶可以在其中更改其中一個值 - 我希望重新查詢服務器/ PHP腳本。

這是我的。

var app = angular.module("myServices", ['ui.bootstrap']); 

app.controller("servicesCntrl", function($scope, $http) { 
    $http.get("http://myservice.com/scripts.php?dist="+28) 
    .success(function(response) {$scope.names = response.contractors;}); 
}); 


function updateVal() { 
    var scope = angular.element($("#batch")).scope(); 
    scope.$apply(function($http){ 
     $http.get("http://myservice.com/scripts.php?dist="+28) 
    .success(function(response) {$scope.names = response.contractors;}); 
    }) 
} 

控制器工作正常 - 並按預期抓取值。 updateVal腳本(在onChange事件上調用)會被掛起,說$ http.get不是函數。

我錯過了什麼? :) 提前致謝!

---編輯

好了 - 我做了幾個修改的 - 但仍然沒有它。對不起 - 我很新角度:)

這是我現在擁有的。滑塊腳本 - 和角度。

<div class="ui-field-contain" data-controltype="slider"> 
       <label for="slider1"> 
        Adjust Distance 
       </label> 
       <input id="slider1" type="range" name="slider" value="5" min="0" max="50" 
       data-highlight="false" onchange="updateVals()"> 
      </div> 

和角

app.controller("servicesCntrl", function($scope, $http) { 
    $scope.updateVals = function() { 
     console.log("Booyah"); 
    } 
    $http.get("http://example.com/scripts.php?dist="+28) 
    .success(function(response) {$scope.names = response.contractors;}); 
}); 

---編輯3 - 感謝您的幫助:)

滑蓋NG-模型 - 和NG-變化

<div class="ui-field-contain" data-controltype="slider"> 
       <label for="slider1"> 
        Adjust Distance 
       </label> 
       <input id="slider1" type="range" name="slider" value="5" min="0" max="50" 
       data-highlight="false" ng-model="myslider" ng-change="updateVals"> 
      </div> 

和角

一些事情仍然失蹤..

app.controller("servicesCntrl", function($scope, $http) { 
    $scope.updateVals = function() { 
     console.log("Booyah"); 
    } 
    $http.get("http://example.com/scripts.php?dist="+28) 
    .success(function(response) {$scope.names = response.contractors;}); 
}); 
+0

爲什麼updateVal在控制器之外?它無法訪問$ http – Irshu

回答

1

updateVal()功能是您注射$http服務,所以你必須把它沒有訪問控制器之外。將updateVal功能移到您的控制器中。

+0

onChange不是ng屬性。嘗試使用{{}} – m0meni

+0

最初嘗試使用ng-change - 但是雖然沒有錯誤 - 它沒有做任何事情。我想也許jquery與它衝突 – EZoolander

+0

「ngChange表達式僅在輸入值的變化導致新值被提交給模型時才被評估。」 如果你想使它工作,你需要指定ng-model。 範圍輸入的一個工作示例在這裏http://forum.ionicframework.com/t/working-with-ng-model-and-input-type-range/949 – m0meni