Javascript AngularJs:从下拉列表中选择值
我在JQM中使用AngularJS,我创建了一个下拉列表,用于使用AngularJS控制器选择值和数据。它很好用 但是,当我在Javascript AngularJs:从下拉列表中选择值,javascript,jquery,jquery-mobile,angularjs,Javascript,Jquery,Jquery Mobile,Angularjs,我在JQM中使用AngularJS,我创建了一个下拉列表,用于使用AngularJS控制器选择值和数据。它很好用 但是,当我在中添加数据原生菜单=“false时,会出现奇怪的执行 我选择第一个值,它选择第二个值 我的HTML部分 <div ng-controller="MyCtrl"> <select data-native-menu="false" data-role="listview" ng-options="size as size.name for size
中添加数据原生菜单=“false
时,会出现奇怪的执行
我选择第一个值,它选择第二个值
我的HTML部分
<div ng-controller="MyCtrl">
<select data-native-menu="false" data-role="listview" ng-options="size as size.name for size in sizes " ng-model="item" ng-change="update()"></select>
{{item.code}} {{item.name}}
</div>
myApp.controller('MyCtrl',function($scope){
$scope.sizes = [ {code: 1, name: 'n1'}, {code: 2, name: 'n2'}];
$scope.update = function() {
console.log($scope.item.code, $scope.item.name)
}});
如果我删除数据本机菜单=“false”数据角色=“listview”
,那么代码工作正常
请帮帮我
我的示例的演示页面是您可以在 html
<div ng-controller = "fessCntrl" >
<div query-mobile-tpl>
<select data-role="listview" data-inset="true" ng-options="size as size.name for size in sizes " ng-model="item" x-ng-change="update(item)"></select>
<pre> {{item.code | json}} {{item.name | json}}</pre>
</div>
</div>
听起来像是使用了旧的角度源或与其他源发生了碰撞
希望它能帮助您
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script>
<script type="text/javascript">
var app = angular.module('MyApp', [])
app.controller('MyController', function ($scope, $window) {
$scope.Fruits = [{
Id: 1,
Name: 'Apple'
}, {
Id: 2,
Name: 'Mango'
}, {
Id: 3,
Name: 'Orange'
}];
$scope.GetValue = function (fruit) {
var fruitId = $scope.ddlFruits;
var fruitName = $.grep($scope.Fruits, function (fruit) {
return fruit.Id == fruitId;
})[0].Name;
$window.alert("Selected Value: " + fruitId + "\nSelected Text: " + fruitName);
}
});
</script>
<div ng-app="MyApp" ng-controller="MyController">
<select ng-model="ddlFruits" ng-options="fruit.Id as fruit.Name for fruit in Fruits track by fruit.Id"
ng-change="GetValue()">
</select>
</div>
</body>
</html>
{{category.name}
{{type.name}
{{duration.name}
var mod=角度模块(“ngm”,[]);
mod.controller('MainController',函数($scope){
$scope.categories=[{
“id”:“1”,
“名称”:“室内”
}, {
“id”:“2”,
“名称”:“户外”
}],
$scope.types=[{
“id”:“1”,
“名称”:“n1”
}, {
“id”:“2”,
“名称”:“n2”
}],
$scope.durations=[{
“id”:“1”,
“姓名”:“分钟”
}, {
“id”:“2”,
“名称”:“小时”
}];
});
小提琴
var app=angular.module('MyApp',[])
app.controller('MyController',函数($scope,$window){
$scope.Fruits=[{
Id:1,
名称:“苹果”
}, {
Id:2,
名称:“芒果”
}, {
Id:3,
姓名:“橙色”
}];
$scope.GetValue=函数(水果){
var FROUTID=$scope.ddlFruits;
var fruitName=$.grep($scope.Fruits,function(fruit){
返回水果。Id==水果Id;
})[0]。名称;
$window.alert(“所选值:“+fructId+”\n所选文本:“+fructName”);
}
});
你想让我们对你的演示做什么?我运行你的小提琴示例,但我不使用本机下拉列表,因此当我包括JQyery和JQuery移动脚本时,它就不能调用更新
方法我包括以下文件
修复,似乎现在它可以与移动一起工作,添加到要添加的指令中create
event.enjoy但是当我把`data native menu=“false”`放在select中,然后再次更新的方法不是Fire染料,这是一个问题,我认为他们不能用data native menu=“true
做到这一点。但这是方向,我为你尽了最大的努力。
<div id="main" data-role="page" ng-controller="MainController">
<div data-role="content">
<div>
<select data-native-menu="false" data-role="listview">
<option ng-repeat="category in categories" value="{{category.id}}">{{category.name}}</option>
</select>
<select data-native-menu="false" data-role="listview">
<option ng-repeat="type in types" value="{{type.id}}">{{type.name}}</option>
</select>
<select data-native-menu="false" data-role="listview">
<option ng-repeat="duration in durations" value="{{duration.id}}">{{duration.name}}</option>
</select>
</div>
</div>
</div>
var mod = angular.module("ngm", []);
mod.controller('MainController', function ($scope) {
$scope.categories = [{
"id": "1",
"name": "Indoor"
}, {
"id": "2",
"name": "Outdoor"
}],
$scope.types = [{
"id": "1",
"name": "n1"
}, {
"id": "2",
"name": "n2"
}],
$scope.durations = [{
"id": "1",
"name": "Minute"
}, {
"id": "2",
"name": "Hour"
}];
});
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script>
<script type="text/javascript">
var app = angular.module('MyApp', [])
app.controller('MyController', function ($scope, $window) {
$scope.Fruits = [{
Id: 1,
Name: 'Apple'
}, {
Id: 2,
Name: 'Mango'
}, {
Id: 3,
Name: 'Orange'
}];
$scope.GetValue = function (fruit) {
var fruitId = $scope.ddlFruits;
var fruitName = $.grep($scope.Fruits, function (fruit) {
return fruit.Id == fruitId;
})[0].Name;
$window.alert("Selected Value: " + fruitId + "\nSelected Text: " + fruitName);
}
});
</script>
<div ng-app="MyApp" ng-controller="MyController">
<select ng-model="ddlFruits" ng-options="fruit.Id as fruit.Name for fruit in Fruits track by fruit.Id"
ng-change="GetValue()">
</select>
</div>
</body>
</html>