[support] [Fwd: Re: How to add "selected" attribute to select list <option>tag]
Steve Edwards
killshot91 at comcast.net
Wed Nov 28 05:18:16 UTC 2007
I guess I spoke too soon. I did it as an array
#default_value => array(2,3)
and upon viewing the source, I discovered that it adds the selected="selected" attribute to my option tags like I want. The
problem is, the items aren't being highlighted on the screen.
so this code:
*
* Define the project permissions settings form
*/
function project_permissions_form($project_nid, $project_name) {
$form['#base'] = 'project_permissions_form';
$form[$project_nid] = array(
'#type' => 'fieldset',
'#title' => $project_name,
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form[$project_nid]['projects'] = array(
'#type' => 'textfield',
'#title' => t('Project name'),
'#maxlength' => 30,
'#size' => 30,
'#default_value' => $project_name,
);
$form[$project_nid]['users'] = array(
'#type' => 'select',
'#title' => t('Users with access to project'),
'#description' => t('Select users to be asssigned to the project'),
'#options' => _get_user_list(),
'#multiple' => TRUE,
'#default_value' => array(2,3),
);
$form[$project_nid]['nid'] = array(
'#type' => 'hidden',
'#value'=> $project_nid,
);
$form[$project_nid]['submit'] = array(
'#type' => 'submit',
'#value' => 'Submit'
);
return $form;
}
gives me this HTML:
<div class="form-item">
<label for="edit-users">Users with access to project: </label>
<select name="users[]" multiple="multiple" class="form-select" id="edit-users" ><option value="1">admin</option><option
value="2" selected="selected">bwald</option><option value="3" selected="selected">testuser</option><option
value="4">Brian</option><option value="5">NickH</option></select>
<div class="description">Select users to be asssigned to the project</div>
</div>
So why wouldn't the items be highlighted on the screen?
Steve
-------- Original Message --------
Subject: Re: [support] How to add "selected" attribute to select list <option>tag
Date: Tue, 27 Nov 2007 21:04:32 -0800
From: Steve Edwards <killshot91 at comcast.net>
To: support at drupal.org
References: <474CED98.8090201 at comcast.net> <AF8E53B658278947AA3E09E48EF4EDAC3D73A3 at TRV1DMC00.TRV.local>
Hmmm, getting closer, but I can't seem to get it to work. No matter what I try, I can't get it to select anything.
Here is what my select list looks like (in HTML)
<option value="1">Name 1
<option value="2">Name 2
<option value="3">Name 3
<option value="4">Name 4
<option value="5">Name 5
The value is the user's uid. number That being the case, what would i use for #default_value? I've tried things like
'#default_value' => array(1 => 'Name 1')
'#default_value' => 1
'#default_value' => 'Name 1'
but I can't get any of them to work. Any ideas?
Thanks.
Steve
Greg Holsclaw wrote:
> Make the #default_value an array of the keys of the options you want
> selected.
>
> $form['item'] = array(
> '#type' => 'select',
> ...
> '#options' => array of all options,
> '#default_value' => array of keys from above options.
> ...
> );
>
> Check
> http://api.drupal.org/api/file/developer/topics/forms_api_reference.html
> /5#default_value for more info.
>
> Greg
>
>
> -----Original Message-----
> From: support-bounces at drupal.org [mailto:support-bounces at drupal.org] On
> Behalf Of Steve Edwards
> Sent: Tuesday, November 27, 2007 8:25 PM
> To: support at drupal.org
> Subject: [support] How to add "selected" attribute to select list
> <option>tag
>
> Well, I'm back again, and this time I have a question about attributes
> for select options in a form. I have a form that has a
> select element (multi-select) that lists users. The form is for some
> admin settings for a module. When the form is displayed, I
> need to be able to highlight specific options in the list based on data
> returned from a query. I've been looking all day, and
> haven't been able to figure it out. There is the #attribute key, but it
> is for the field as whole (at least as far as I can
> determine), and doesn't work for each individual <option> tag.
>
> If anybody could point me in the right direction, I would appreciate it.
>
> Thanks.
>
> Steve
More information about the support
mailing list