2 Stimmen

Cakephp: Sterne in allen Auswahlmöglichkeiten eines Optionsfelds entfernen

Ich habe einen Optionsfeld in meinem Formular mit folgendem Code

echo $form->input('Users.vote', array(
 'type' => 'radio',
 'label' => array('text' => __("form_vote", "true"), 'class' => 'vote'),
 'options' => array('1' => 'a', '2' => 'b', '3' => 'c' ),
));

Das ist meine Model-Validierung für "vote"

  'vote' => array(
        'rule' => 'inList', array(1,2,3), 
        'allowEmpty' => false,
        'required' => true,
        'message' => 'error_vote'
    )

Das Problem ist, dass ein * direkt neben den a, b und c Optionen hinzugefügt wird. Hier ist ein Screengrab davon, wie es mit den Sternen auf allen drei Optionen aussieht. http://imageshack.us/photo/my-images/23/radiojpg.jpg/ Ich möchte, dass der Stern nur auf dem Label 'Vote' angezeigt wird

Hier ist die HTML-Ausgabe

 Vote

 a*

 b*

 c*

3voto

Naidim Punkte 6482

Ich bevorzuge es nicht, Legenden zu verwenden, daher habe ich ein Label vor der Optionsliste hinzugefügt:

Form->label('radioname', __('Label:', true), 'required'); ?>

Dann habe ich das CSS für das neue Label und die Radio-Button-Labels angepasst:

label.required:after {
  color: #e32;
  content: '*';
  display:inline;
}

.radio label{
  font-weight:normal;
}
.radio label:after{
  display:none !important;
}

2voto

del_dan Punkte 863

Ein Attribut mit dem Namen Legend erstellen, um alle Radiobuttons zu gruppieren

echo $form->input('Users.vote', array(
 'type' => 'radio',
 'legend' => 'Abstimmung*',
 'class' => 'vote',
 'options' => array('1' => 'a', '2' => 'b', '3' => 'c' ),
));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X