Solved

Clicking on list box opens control to allow adding to list

Posted on 2014-02-20
5
372 Views
Last Modified: 2014-03-03
I am developing an asp.net application where there are several listboxes I need users to make selections in.   I would like it so that when the user clicks on the box (or perhaps a button beside the box) a pop up allows the user to add and remove items as follows.

Here is the list box in its normal state:

List box Normal
When the user licks into the box the following pops up allowing for changes:

Listbox selection control
Clicking off this control will return the user to the page and the target listbox control will reflect the changes.

I have seen this in action but can't find one to give as an example.
0
Comment
Question by:canuckconsulting
  • 2
  • 2
5 Comments
 
LVL 25

Expert Comment

by:lenamtl
ID: 39877019
Hi, maybe you can use Drag and Drop feature

There is a jQuery for this
http://jqueryui.com/sortable/#connect-lists

It is also possible with HTML5
http://farhadi.ir/projects/html5sortable/

Both are easy to implement
0
 

Author Comment

by:canuckconsulting
ID: 39877029
Thanks but not quite what I'm after.  

The page it is on is very busy so I'm trying to conserve space.  I need the listbox  to kind of expand out to include a selection box when it is clicked.  This way the space is used when it is needed but once the selection is made only the selected items are shown.
0
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 39877614
Test page : http://jsfiddle.net/L9VhF/

    <select id="listbox" multiple="multiple">
        <option>red</option>
        <option>green</option>
        <option>blue</option>
        <option>pink</option>
    </select>

<div id="dialog">
    <select id="a" multiple="multiple">
    </select>
    <table>
        <tr><td><button id="pop">>></button></td></tr>
        <tr><td><button id="push"><<</button></td></tr>
    </table>
    <select id="b" multiple="multiple">
        <option>red</option>
        <option>green</option>
        <option>blue</option>
        <option>pink</option>
    </select>
</div>

Open in new window


jQuery(function($) {
    $("#listbox").click(function(evt) {
        evt.preventDefault();
        $("option", this).each(function() {
            var text = $(this).text();
            $("#a").append($(this).clone());
            $("option", "#b").filter(function() { return $(this).text() == text; }).remove();
        });
        $("#dialog").dialog("open");
    });
    $("#dialog").dialog({
        autoOpen: false,
        modal: true,
        width:250,
        height:200,
        resizable: false,
        draggable: false,
        close: function(event, ui) {
            $("#listbox").empty();
            $("option", "#a").each(function() {
                $(this).clone().appendTo("#listbox");
            });
            $("option", "#a").appendTo("#b");
        }
    });
    $("#pop").click(function() {
        $("option:selected", "#a").appendTo("#b");
    });
    $("#push").click(function() {
        $("option:selected", "#b").appendTo("#a");
    });
});

Open in new window

0
 
LVL 25

Expert Comment

by:lenamtl
ID: 39877645
0
 

Author Closing Comment

by:canuckconsulting
ID: 39901253
worked perfectly...thanks!
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
Color can increase conversions, create feelings of warmth or even incite people to get behind a cause. If you want your website to really impact site visitors, then it is vital to consider the impact color has on them.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question