Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angular中select/option标记中的奇怪行为_Javascript_Angularjs - Fatal编程技术网

Javascript angular中select/option标记中的奇怪行为

Javascript angular中select/option标记中的奇怪行为,javascript,angularjs,Javascript,Angularjs,这是我的代码片段: <select class="form-control" name="" id="" ng-model="offerId"> <option value="">Choose</option> <option ng-repeat="offer in offers " value="{{ offer.id }}" ng-selected="offerId == offer.id">

这是我的代码片段:

<select class="form-control" name="" id="" ng-model="offerId">
    <option value="">Choose</option>
    <option ng-repeat="offer in offers " value="{{ offer.id }}"
            ng-selected="offerId == offer.id">
        {{offer.supplier.name}}
        ({{offer.request.name}})
    </option>
</select>
$scope.clearAttachedFiles = function () {
$scope.attachedFiles = {uploads: null, links: null};
};
$scope.$watch('offerId', function (a, b) {
if ($scope.offerId) {
offerId = $scope.offerId;
}
if ((typeof a == 'undefined' || typeof a == 'null') && (typeof b == 'undefined' || typeof b == 'null')) {
return;
}
if (a === '') {
$scope.level = 'EVENT';
$scope.privateMessage = true;
$scope.offer = null;
}
else {
$scope.level = 'OFFER';
$scope.privateMessage = false;
angular.forEach($scope.offers, function (offer) {
if (offer.id == a) {
$scope.offer = offer;
}
});
}
$scope.getPaginatedActivities();
$scope.resetActivitiesList();
$scope.currentPage = 1;
});

你用错了,ng选项的存在是有原因的

当您使用ng repeat时,您正在为阵列中的每个选项添加一个监视程序,因此性能可能非常差。另外,执行value={{}}也会有问题,因为这不是正确的方法,这取决于编译时间和其他因素,select可以将{{}作为值,而不是计算表达式。可能是选择空白的原因。 使用ngOptions,灵活且易于操作。以下是文件:


问任何与之相关的问题

“我从其他组件/触发器更改ngModel(offerId)”您如何更改并显示代码。还显示了我从其他组件在ngClick中的方法调用中更改模型的结构。提供的数组的JSON结构很长,我怎么能显示呢?是的,我确实使用了ngOptions,但以前使用的逻辑不起作用。所以我支持我当前的实现。所以改变逻辑使其工作,你应该使用ngOptions,只需粘贴代码,我们就可以使其工作!