searchbox با قابلیت فیلتر کردن با AngularJS

پنجشنبه 11 تیر 1394

در این مقاله قصد پیاده سازی searchbox با قابلیت فیلتر کردن با AngularJS را داریم.

searchbox با قابلیت فیلتر کردن با AngularJS

اگر تا به حال با AngularJS کار نکرده اید مقاله بعدی من مقدمات AngularJS می باشد. در این مقاله با نحوه ساخت searchbox با قابلیت فیلتر کردن با AngularJS آشنا خواهیم شد. چیزی مانند شکل زیر :

در این مثال یک آرایه با رشته های زیر داریم :

PersonName=['بردیا','احسان','علی','ایمان','زهرا','سجاد','نرگس','پاکان'];

وقتی که کاربر می خواهد جستجو بین این اسامی را انجام دهد با وارد کردن اولین حرف لیست اسامی که در زیر آن قرار دارد با توجه به آن حرف فیلتر می شود.به فرض مانند مثال زیر با وارد کردن حرف "ر" کلیه اسامی که دارای حرف "ر" هستند لیست شده و بقیه از لیست اسامی حذف می شوند.

برای پیاده سازی این کار یک صفحه html به پروژه خود اضافه کنید.

سپس کدهای زیر را در آن کپی نمایید.

<!DOCTYPE html>
<html>
<head>
    <title>search box متحرک Angular</title>
    <style>
        .inputText {
            border: 1px solid #ccc;
            border-radius: 10px;
            background-color: #0ff;
            box-shadow: 1px 1px 1px 1px #ccc;
            width: 230px;
            height: 30px;
        }

        ul {
            list-style: none;
            padding: 10px;
            background-color: #CAEAF5;
            border-radius: 10px;
            border: 1px solid #ccc;
            width: 210px;
        }

        li {
            border: 1px solid #ccc;
            border-right: none;
            border-left: none;
            padding: 2px;
            text-align: center;
        }
    </style>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body ng-app ng-init="PersonName=['بردیا','احسان','علی','ایمان','زهرا','سجاد','نرگس','پاکان'];">
    <div>
        <input type="text" ng-model="curPlace" class="inputText">
        <ul>
            <li ng-repeat="place in PersonName | filter:curPlace">
                <a ng-href="https://www.google.com={{place}}">{{place}} </a>
            </li>
        </ul>
    </div>
</body>
</html>  

دقت داشته باشید که برای انجام فیلترینگ نام آرایه شما (PersonName) باید همنام با کلمه PersonName در تکه کد زیر باشد :

<li ng-repeat="place in PersonName | filter:curPlace">

برای دادن استایل به صفحه خود می توانید از Css زیر استفاده نمایید :

<style>    
        .inputText {    
            border: 1px solid #ccc;    
            border-radius: 10px;    
            background-color: #0ff;    
            box-shadow: 1px 1px 1px 1px #ccc;    
            width: 230px;    
            height: 30px;    
        }    
    
        ul {    
            list-style: none;    
            padding: 10px;    
            background-color: #CAEAF5;    
            border-radius: 10px;    
            border: 1px solid #ccc;    
            width: 210px;    
        }    
    
        li {    
            border: 1px solid #ccc;    
            border-right: none;    
            border-left: none;    
            padding: 2px;    
            text-align: center;    
        }           
</style>  

آموزش angular

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید