gpt4 book ai didi

javascript - 输入搜索输入时清除下拉选择

转载 作者:行者123 更新时间:2023-11-30 16:55:23 24 4
gpt4 key购买 nike

现在正在尝试使用 Angular 创建概念证明。我有这个 working plunker如果我从下拉列表中选择一个选项,它将显示 $http.get( ) 中的项目列表。 .我也有一个搜索输入,当我输入文本时,我希望它能够成为自己的 $http.get( )在与上面的列表相同的列表中调用和显示数据。我只是很难让它一起工作。我希望用户能够从下拉列表或搜索中选择,但不能同时选择两者。

这是 html:

<html>
<head>
<script data-require="angular.js@1.4.0-rc.0" data-semver="1.4.0-rc.0" src="https://code.angularjs.org/1.4.0-rc.0/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-app="myapp" ng-controller="MainCtrl">
<h1>Hello Plunker!</h1>
<div>
<select ng-options="post as post.id for post in allPosts" ng-model="selectPost" ng-change="select()">
<option value="">--select--</option>
</select>
<input type="text" ng-model="searchText" ng-change="search()" />
<ul>
<li data-ng-repeat="item in records | orderBy:'Name':reverse">
{{item.email}}
</li>
</ul>
</div>
</body>
</html>

和 Javascript:

angular.module('myapp', [])
.controller('MainCtrl', function($scope, $http) {
var records;
$scope.selectPost = '';
$scope.searchText = '';
$http.get('http://jsonplaceholder.typicode.com/posts').success(function(data1) {

$scope.allPosts = data1;
$scope.total = $scope.allPosts.length;
});

$scope.select = function() {
$scope.searchText = '';
$scope.search = $scope.selectPost;
// really, the URL should tell it which posts to get
// but because this is not a real server, we filter here
$http.get('http://jsonplaceholder.typicode.com/comments').success(function(data2) {
$scope.records = [];
data2.forEach(function(r) {
if (r && r.postId && r.postId === $scope.selectPost.id) {
$scope.records.push(r);
}
});
});
};

$scope.search = function() {
//clear the select, go here http://jsonplaceholder.typicode.com/comments
//and display/filter emails based on the search input
};



});

正如您在输入搜索输入时看到的,我想调用 search( )函数并清除选择输入并进行另一个 ajax 调用并填充 <li>使用与搜索内容匹配的电子邮件。

最佳答案

首先是线

$scope.search = $scope.selectPost;

覆盖搜索功能,因此删除该行。

然后,在搜索功能中,您可以轻松地重置选择元素,并通过电子邮件而不是 ID 过滤结果。

http://plnkr.co/edit/BU3s1aNS8b0ChT29D2J5?p=preview

关于javascript - 输入搜索输入时清除下拉选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29801834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com