+ my $self = shift;
+ my $name = shift;
+ my $options_str = shift;
+ my %attributes = _hashify(@_);
+
+ $attributes{id} ||= $self->name_to_id($name);
+
+ return $self->html_tag('select', $options_str, %attributes, name => $name);
+}
+
+sub checkbox_tag {
+ my $self = shift;
+ my $name = shift;
+ my %attributes = _hashify(@_);
+
+ $attributes{id} ||= $self->name_to_id($name);
+ $attributes{value} = 1 unless defined $attributes{value};
+ my $label = delete $attributes{label};
+
+ if ($attributes{checked}) {
+ $attributes{checked} = 'checked';
+ } else {
+ delete $attributes{checked};
+ }