对于角度js的新手,请给我解决方案。
如何选择选择下拉列表中选择的Db值,如角度js中的PHP?
例如Php编码,
$array = array("apple", "orange", "lemon");
<select>
<option value=""></option>
<?php
foreach ($array as $data) {
?>
<option value="<?php echo $data ?>" <?php if ($data == "orange") echo "selected"; ?>><?php echo $data ?></option>
<?php } ?>
所以在PHP中我们选择值意味着选择echo如何在angular js中做到?
My Angular Js代码:
<select multiple="multiple" id="citizenship3" name="citizenship3" ng-model="attributes.citizenship" class="example-getting-started form-control" required>
<option ng-repeat="clist in citizenshipList" value="{{clist.country}}" ng-selected="{{ attributes.citizenship.Selected == true }}">{{clist.country}}</option>
</select>
它从DB获取所有值并且还获取存储的db值它工作正常但它不是从DB值中选择的值如何在角度js中选择如上面的PHP编码?使用ng-selected但它不起作用?
我的下拉设计。
答案 0 :(得分:2)
你可以预先选择&#34;通过设置正确的ng-model
进行选择,就像那样简单!
请注意,默认情况下,您在<option>
中编码的值采用字符串格式,如果使用数字,则无法使用。
请考虑使用ng-options
更多地控制ng-model
中的数据。
angular.module('test', []).controller('Test', function($scope){
$scope.selected = ["2", "3"];
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js"></script>
<div ng-app="test" ng-controller="Test">
<select multiple ng-model="selected">
<option value="1" ng-selected="selected.indexOf('1') != -1">one</option>
<option value="2" ng-selected="selected.indexOf('2') != -1">two</option>
<option value="3" ng-selected="selected.indexOf('3') != -1">three</option>
<option value="4" ng-selected="selected.indexOf('4') != -1">four</option>
</select>
{{selected}}
</div>
&#13;
编辑:
不确定您的下拉设计是如何工作的,可能是检测到selected
属性和一些JS操作来更新用户点击的属性。
我更新了脚本,以便在用户更改选项时填充selected
,但不确定它是否可以正常工作。
您需要提供您使用的插件,以便我可以进一步调查。
答案 1 :(得分:0)
在你的控制器中。发出一个http请求,返回编码的json。将返回值放在范围内,然后使用ng-option重复该对象。