@ExportedBean public class ListBoxModel extends ArrayList<ListBoxModel.Option> implements org.kohsuke.stapler.HttpResponse
The dynamic list box support allows the SELECT element to change its options dynamically by using the values given by the server.
To use this, HTML needs to declare the SELECT element:
<xmp>
<select id='foo'>
<option>Fetching values...</option>
</select>
</xmp>
The SELECT element may have initial option values (in fact in most cases having initial values are desirable to avoid the client from submitting the form before the AJAX call updates the SELECT element.) It should also have an ID (although if you can get to the DOM element by other means, that's fine, too.)
Other parts of the HTML can initiate the SELECT element update by using the "updateListBox"
function, defined in hudson-behavior.js
. The following example does it
when the value of the textbox changes:
<xmp>
<input type="textbox" onchange="updateListBox('list','optionValues?value='+encode(this.value))"/>
</xmp>
The first argument is the SELECT element or the ID of it (see Prototype.js $(...)
function.)
The second argument is the URL that returns the options list.
The URL usually maps to the doXXX
method on the server, which uses ListBoxModel
for producing option values. See the following example:
public ListBoxModel doOptionValues(@QueryParameter("value") String value) throws IOException, ServletException { ListBoxModel m = new ListBoxModel(); for(int i=0; i<5; i++) m.add(value+i,value+i); // make the third option selected initially m.get(3).selected = true; return m; }
Modifier and Type | Class and Description |
---|---|
static class |
ListBoxModel.Option |
modCount
Constructor and Description |
---|
ListBoxModel() |
ListBoxModel(Collection<ListBoxModel.Option> c) |
ListBoxModel(int initialCapacity) |
ListBoxModel(ListBoxModel.Option... data) |
Modifier and Type | Method and Description |
---|---|
void |
add(ModelObject usedForDisplayName,
String value) |
ListBoxModel |
add(String nameAndValue)
A version of the
add(String, String) method where the display name and the value are the same. |
void |
add(String displayName,
String value) |
void |
generateResponse(org.kohsuke.stapler.StaplerRequest req,
org.kohsuke.stapler.StaplerResponse rsp,
Object node) |
ListBoxModel.Option[] |
values()
Deprecated.
Exposed for stapler. Not meant for programmatic consumption.
|
void |
writeTo(org.kohsuke.stapler.StaplerRequest req,
org.kohsuke.stapler.StaplerResponse rsp) |
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, forEach, get, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
equals, hashCode
containsAll, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
containsAll, equals, hashCode
parallelStream, stream
public ListBoxModel(int initialCapacity)
public ListBoxModel()
public ListBoxModel(Collection<ListBoxModel.Option> c)
public ListBoxModel(ListBoxModel.Option... data)
public void add(ModelObject usedForDisplayName, String value)
public ListBoxModel add(String nameAndValue)
add(String, String)
method where the display name and the value are the same.public void writeTo(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp) throws IOException, javax.servlet.ServletException
IOException
javax.servlet.ServletException
public void generateResponse(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp, Object node) throws IOException, javax.servlet.ServletException
generateResponse
in interface org.kohsuke.stapler.HttpResponse
IOException
javax.servlet.ServletException
@Exported @Deprecated public ListBoxModel.Option[] values()
Copyright © 2004–2021. All rights reserved.