我是 Angular JS 的新手,请给我解决方案。
如何像 Angular js中的PHP一样在选择下拉列表中选择Db值?
例如 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 中我们选择 value 意味着给 echo 选择如何像在 Angular js 中那样做?
我的 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>
它从数据库中获取所有值,并且还获取存储的数据库值,它工作正常,但不是从数据库值中选择的值如何在 Angular js 中选择,如上面的 PHP 编码?正在使用 ng-selected,但它不起作用?
我的下拉设计。
最佳答案
您可以通过设置正确的 ng-model
来“预选择”您的选择,就这么简单!
请注意,默认情况下,您在 <option>
中编码的值都是字符串格式,如果使用数字则不起作用。
请考虑使用ng-options
对 ng-model
中的数据进行更多控制.
angular.module('test', []).controller('Test', function($scope){
$scope.selected = ["2", "3"];
});
<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>
编辑:
不确定你的下拉设计是如何工作的,也许它正在检测 selected
属性和一些 JS 操作以在用户单击时更新属性。
我已经更新了脚本,因此它会填充 selected
当用户更改选项时,不确定它是否有效。
您需要提供您使用的插件,以便我可以进一步研究。
关于php - 如何选择从 Angular js中的数据库值中选择的框值,就像在php中选择的一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38218491/