From 927ead507db9b154a18dc5d62fb89feb34aeb76c Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Mon, 27 Dec 2010 13:52:13 +0100 Subject: [PATCH] =?utf8?q?options=5Ffor=5Fselect:=20Unterst=C3=BCtzung=20f?= =?utf8?q?=C3=BCr=20multiple=20selected-values?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/Template/Plugin/L.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/SL/Template/Plugin/L.pm b/SL/Template/Plugin/L.pm index 205363343..f776af85c 100644 --- a/SL/Template/Plugin/L.pm +++ b/SL/Template/Plugin/L.pm @@ -203,6 +203,8 @@ sub options_for_select { my $value_title_sub = $options{value_title_sub}; + my %selected = map { ( $_ => 1 ) } @{ ref($options{default}) eq 'ARRAY' ? $options{default} : $options{default} ? [ $options{default} ] : [] }; + my $access = sub { my ($element, $index, $key, $sub) = @_; my $ref = ref $element; @@ -225,7 +227,7 @@ sub options_for_select { my $code = ''; foreach my $result (@elements) { my %attributes = ( value => $result->[0] ); - $attributes{selected} = 'selected' if $options{default} && ($options{default} eq ($result->[0] || '')); + $attributes{selected} = 'selected' if $selected{ $result->[0] || '' }; $code .= $self->html_tag('option', _H($result->[1]), %attributes); } @@ -585,6 +587,10 @@ C) will be used as the first element. The title to display for this element can be set with the option C and defaults to an empty string. +The option C can be either a scalar or an array reference +containing the values of the options which should be set to be +selected. + =item C Creates a tab for C. The description will be used as displayed name. -- 2.20.1