简体   繁体   中英

Move selected items to the top of multiple select using javascript

I Want to Move selected items to the top of multiple select using JavaScript or jQuery before or after form submit.

For example, this:

<select multiple="multiple" name="users" id="users">
    <option value="1" selected="selected">aaa</option>
    <option value="2">bbb</option>
    <option value="3" selected="selected">ccc</option>
    <option value="4">ddd</option>
    <option value="5">eee</option>
    <option value="6" selected="selected">fff</option>
</select>

Expected result:

<select multiple="multiple" name="users" id="users">
    <option value="1" selected="selected">aaa</option>
    <option value="3" selected="selected">ccc</option>
    <option value="6" selected="selected">fff</option>
    <option value="2">bbb</option>
    <option value="4">ddd</option>
    <option value="5">eee</option
</select>

Initially am getting the sorting done. But I need to show the Selected Option first. I Have used the Struts tag for SELECT which is as follow

<s:select name="users" id="users" headerKey="-1" headerValue="ALL" value="%{#request.users}"  cssClass="form-inline form-inline-big-dropdown" list="templistMap" multiple="true" />

This can be done with one line:

$("#users option:selected").prependTo("#users");

Demo on jsFiddle

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM