Javascript 在Angular JS应用程序中向搜索(>;、<;、!=)添加运算符

Javascript 在Angular JS应用程序中向搜索(>;、<;、!=)添加运算符,javascript,angularjs,Javascript,Angularjs,我目前有一个基本的Angular应用程序,它在控制器中包含JSON数据,并搜索数据条目,返回结果 search.html <body ng-app="mainApp"> <div id="searchBoxes"> Global Search: <input type="text" class="field" ng-model="globalSearch.$"><br> First

我目前有一个基本的Angular应用程序,它在控制器中包含JSON数据,并搜索数据条目,返回结果

search.html

  <body ng-app="mainApp">
        <div id="searchBoxes">
            Global Search: <input type="text" class="field" ng-model="globalSearch.$"><br>
            First Name: <input type="text" class="field" ng-model="globalSearch.firstName"><br>
            Last Name: <input type="text" class="field" ng-model="globalSearch.lastName"><br>
            Age: <input type="text" class="field" ng-model="globalSearch.Age"><br>
            Address: <input type="text" class="field" ng-model="globalSearch.Address"><br>
        </div>

        <div ng-controller="people">
            <ul>
                <h2> Berman and Co. Contacts </h2>
                <li ng-repeat="person in persons | filter:globalSearch"> 
                    {{ 'Name: ' + person.firstName + ' ' + person.lastName + ' | Age: ' + person.Age + ' | Company: ' + person.Company + ' | Address1: ' + person.Address + ' |  Address2: ' + person.City + ', ' + person.State + ' ' + person.Zip  }}
                </li>
            </ul>
        </div>
    </body>

我认为您必须创建一个单独的控制器,将选定的下拉项与新控制器中的项进行比较。
然后运行您选择的条件语句(switch/case、if/else等),如果所选项与控制器项之一匹配,则运行该运算符。否则,请将其设置为“=”运算符。

我编造了它们,因此它似乎不必要。您所要求的不是一个简短的代码片段,具体细节因代码库而异。StackOverflow不是回答这个问题的好地方:在这里,我们主要回答简短的、技术性的和切中要害的疑问。也许最好是问问朋友,找一个例子,或者试着阅读更多的一般性文章,直到你找到解决方案=)我对Angular很陌生,没有意识到这会是一个很长的答案。例如,ng show将jQuery中相对较长和复杂的内容转换为2分钟的解决方案。如果没有相关的服务/图书馆,那么我会调查我收到的答案,但如果没有询问,我不知道该怎么做。
var app = angular.module('mainApp', []);

app.controller('people', function($scope) {
    $scope.persons = rolodex.entries;
});

var rolodex = {
    "entries": [
    {
        "firstName": "Don",
        "lastName": "Malbatop",
        "Age": "36",
        "Company": "Amazon",
        "Address": "405 White St",
        "City": "Washington",
        "State": "DC",
        "Zip": "20015"
    },
    {
        "firstName": "Donna",
        "lastName": "Montell",
        "Age": "56",
        "Company": "National Institute of Health (NIH)",
        "Address": "456 L St",
        "City": "Washington",
        "State": "DC",
        "Zip": "20016"
    },
        {
        "firstName": "Rachael",
        "lastName": "Maple",
        "Age": "31",
        "Company": "National Remy Association (NRA)",
        "Address": "4056 K St",
        "City": "Washington",
        "State": "DC",
        "Zip": "20017"
    },
        {
        "firstName": "Tammy",
        "lastName": "Trump",
        "Age": "47",
        "Company": "Logo Inc.",
        "Address": "405 Red St",
        "City": "Washington",
        "State": "DC",
        "Zip": "20015"
    },
        {
        "firstName": "Jon",
        "lastName": "Macon",
        "Age": "37",
        "Company": "Bill Supply",
        "Address": "405 Conneticut Ave",
        "City": "Washington",
        "State": "DC",
        "Zip": "20015"
    },
        {
        "firstName": "Pam",
        "lastName": "Oliver",
        "Age": "32",
        "Company": "Postmates",
        "Address": "405 Yellow St",
        "City": "Washington",
        "State": "DC",
        "Zip": "20015"
    }]}