
[英]Variable value not updating in view when changing it in $scope using Ionic and AngularJS
[英]Using jquery slider angularjs scope value is not changing
我正在使用angularjs做一个项目,在这个项目中我正在使用一个jquery滑块。 使用此滑块,我必须更改在一个$ scope数组中定义的selectbox值,但它不起作用。
这是一个示例代码,我只是想知道如何基于jquery滑块更改作用域值
HTML代码
<html lang="en" ng-app="myapp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/layout.css" type="text/css" />
<script src="<?php echo base_url(); ?>assets/angular/angular.js" type="text/javascript"/></script>
</head>
<body ng-controller='CompositionController'>
<div class="thinkness-bar">
<div class="popupslider">
<div id="testslider" class="jquery-slider"></div>
<input type="text" id="testamount" class="progressnumber" value="500" >
<input type="hidden" id="testhdndfaltThick" name="testhdndfaltThick" value="50" />
</div>
</div>
</div>
{{value}}
</body>
<script src="<?php echo base_url(); ?>assets/includes/jquery.1.11.1.min.js"></script>
<script src="<?php echo base_url(); ?>assets/includes/jquery.1.10.2.js"></script>
<script src="<?php echo base_url(); ?>assets/includes/jquery.ui.1.11.1.js"></script>
</html>
脚本代码
<script>
var myapp = angular.module('myapp', []);
myapp.controller('CompositionController', function ($scope,$http)
{
$scope.value =0
var sliderValue = [2,3,5,7,8,10,11,13,15,18,19];
$("#testslider").slider({
range: "min",
value: 8,
min: 1,
max: 20,
slide: function(event, ui)
{
if(sliderValue.indexOf(ui.value)===-1 ) return false;
$("#testamount" ).val( ui.value);
}
});
$( "#testamount" ).val( $( "#testslider" ).slider( "value" ) );
$scope.value =$( "#testamount" ).val();
});
</script>
提前致谢。
由于您是在jquery事件中设置值,因此angular不知道某些内容已更新,您需要调用
$scope.$apply();
设置$ scope.value之后。
PS:我真的希望这只是一个测试,而不是实际的生产代码。
编辑:
好吧,这里有一些问题:body标签中缺少ng-app,我想您打算用滑块更改值...
我做了个笨蛋 :
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.