أحدث البرامج التعليمية وتطوير الشبكة
 

AngularJS اختر مربعات


AngularJS يتيح لك إنشاء قوائم المنسدلة استنادا إلى بنود في صفيف، أو كائن.


إنشاء صندوق اختر عن طريق نانوغرام الخيارات

إذا كنت ترغب في إنشاء قائمة منسدلة، استنادا إلى كائن أو مجموعة في AngularJS، يجب عليك استخدام ng-option التوجيه:

مثال

<div ng-app="myApp" ng-controller="myCtrl">

<select ng-model="selectedName" ng-options="x for x in names">
</select>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.names = ["Emil", "Tobias", "Linus"];
});
</script>
انها محاولة لنفسك »

نانوغرام خيارات مقابل نانوغرام تكرار

يمكنك أيضا استخدام ng-repeat التوجيه لجعل نفس القائمة المنسدلة:

مثال

<select>
<option ng-repeat="x in names">{{x}}</option>
</select>
انها محاولة لنفسك »

لأن ng-repeat التوجيه يعيد كتلة من التعليمات البرمجية HTML لكل عنصر في مجموعة، فإنه يمكن أن تستخدم لخلق خيارات في القائمة المنسدلة، ولكن ng-options تم توجيه خاصة لملء قائمة منسدلة مع الخيارات، ولديه واحد على الأقل ميزة هامة:

القوائم المنسدلة المصنوع من ng-options تسمح القيمة المحددة ليكون كائن، في حين القوائم المنسدلة مصنوعة من ng-repeat يجب أن تكون سلسلة.

ما يمكنني استخدام؟

تفترض لديك مجموعة من الأشياء:

$scope.cars = [
    {model : "Ford Mustang", color : "red"},
    {model : "Fiat 500", color : "white"},
    {model : "Volvo XC90", color : "black"}
];

و ng-repeat التوجيه يتلقى هو المقيد، يجب أن تكون القيمة المحددة سلسلة:

مثال

باستخدام ng-repeat :

<select ng-model="selectedCar">
<option ng-repeat="x in cars" value="{{x.model}}">{{x.model}}</option>
</select>

<h1>You selected: {{selectedCar}}</h1>
انها محاولة لنفسك »

عند استخدام ng-options التوجيه، يمكن أن تكون القيمة المحددة كائن:

مثال

باستخدام ng-options :

<select ng-model="selectedCar" ng-options="x.model for x in cars">
</select>

<h1>You selected: {{selectedCar.model}}</h1>
<p>It's color is: {{selectedCar.color}}</p>
انها محاولة لنفسك »

عندما يمكن أن تكون القيمة المحددة كائن، فإنه يمكن أن تحفظ معلومات أكثر، وطلبك يمكن أن يكون أكثر مرونة.

سوف نستخدم ng-options التوجيه في هذا البرنامج التعليمي.


مصدر البيانات ككائن

في الأمثلة السابقة كان مصدر البيانات صفيف، ولكن يمكننا أيضا استخدام كائن.

نفترض لديك كائن مع أزواج قيمة المفتاح:

$scope.cars = {
    car01 : "Ford",
    car02 : "Fiat",
    car03 : "Volvo"
};

التعبير في ng-options سمة مختلفة بعض الشيء عن الأشياء:

مثال

استخدام كائن كمصدر للبيانات، x يمثل مفتاح، و y يمثل قيمة:

<select ng-model="selectedCar" ng-options=" x for (x, y) in cars ">
</select>

<h1>You selected: {{selectedCar}}</h1>
انها محاولة لنفسك »

فإن القيمة المحددة يكون دائما قيمة في زوج قيمة رئيسي.

ويمكن أيضا أن تكون القيمة في زوج قيمة رئيسي كائن:

مثال

القيمة المحددة ستظل قيمة في زوج قيمة رئيسي، فقط هذه المرة هو كائن:

$scope.cars = {
car01 : {brand : "Ford", model : "Mustang", color : "red"},
car02 : {brand : "Fiat", model : "500", color : "white"},
car03 : {brand : "Volvo", model : "XC90", color : "black"}
};
انها محاولة لنفسك »

الخيارات في القائمة المنسدلة لايوجد يكون المفتاح في زوج -value الرئيسي، فإنه يمكن أيضا أن تكون القيمة، أو خاصية الكائن قيمة:

مثال

<select ng-model="selectedCar" ng-options=" y.brand for (x, y) in cars">
</select>
انها محاولة لنفسك »