0

I am using client side angular js sorting .And it is working for first block which i pasted below .I have same kind of four block with different status.I am using filter concept for displaying List . But when i am sorting with second or third block it is sorting the first block.

<ul class="unstyled listResultsAlignment itemdis{{(items|filter:{status:&quot;WCH&quot;}).length}}">
    <li><span class="span3">SORT BY : </span> 

    <select data-ng-model="sortorder" class="span6 itemselect">
    <option disabled value="">Choose one</option>
    <option value="createDateTime">Most Recent</option>                 
    <option value="title">Title</option>
    <option value="createdBy">Created By</option>                   
    </select>


    </li>
    <li>
    <div class="item-list: list" data-ng-repeat="item in items | filter:{status:&quot;WCH&quot;} | orderBy:sortorder" data-ng-click="displayDossierItem('WCH')">
    </div>
    </ul>

Please suggest ,i am new to angular concept

My second block

<ul class="unstyled listResultsAlignment itemdis{{(items|filter:{status:&quot;POI&quot;}).length}}">
    <li><span class="span3">SORT BY : </span> 

    <select data-ng-model="sortorder" class="span6 itemselect">
    <option disabled value="">Choose one</option>
    <option value="createDateTime">Most Recent</option>                 
    <option value="title">Title</option>
    <option value="createdBy">Created By</option>                   
    </select>


    </li>
    <li>
    <div class="item-list: list" data-ng-repeat="item in items | filter:{status:&quot;WCH&quot;} | orderBy:sortorder" data-ng-click="displayDossierItem('WCH')">
    </div>
    </ul>

Here i am changing status only

1 Answer 1

1

This is because you are using the same model for sorting all the blocks:

You can use different models to retain the order in your blocks:

<!-- 1st block -->
<select data-ng-model="sortorder1" class="span6 itemselect">
<!-- ... -->
<div class="item-list: list" data-ng-repeat="item in items | 
filter:{status'WCH'} | orderBy:sortorder1" 
data-ng-click="displayDossierItem('WCH')">
<!-- ... -->

<!-- 2nd block -->
<select data-ng-model="sortorder2" class="span6 itemselect">
<!-- ... -->
<div class="item-list: list" data-ng-repeat="item in items | 
filter:{status:'WCH'}   | orderBy:sortorder2" 
data-ng-click="displayDossierItem('WCH')">
<!-- ... -->

I would also suggest you to put those closing </li> tags that I found missing in your code.

Sign up to request clarification or add additional context in comments.

2 Comments

I tried this solution , First block is working ,But second block is not sorting
@prash Did you exactly do as shown? ng-model="sortorder2" and orderBy:sortorder2 ?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.