2011-01-17 15 views
0

Ich bin ein php Programmierer .Ich habe eine Bildbewertungsseite, in der es das Bild Gallary mit Auswahlknöpfen einmal ausgewählt und vorgelegt, die Bildknopfwerte gehen zur Tabelle .wenn ich die Bilder zurückbringe Sie werden ordnungsgemäß gerendert, zeigen jedoch nicht die vorherige Auswahl der Radio Button-Bewertung.Werte der Radiobuttons beibehalten

Meine Frage ist, wie die neuesten Radioauswahlen behalten werden, wenn Bilder in den Browser geholt werden.

Antwort

1

Sie müssen das Attribut "checked" für die entsprechenden Optionsfelder festlegen, die Sie auswählen möchten.

1

Wenn Sie Standard wählen möchten, dann verwenden Sie "Checked". und wenn Sie auf neu ausgewählten Knopf überprüft werden möchten. Senden Sie dann den Sende-Radiobutton-Wert in der Sitzung und wenn der Browser eine Anfrage nach dem Sende-Radio-Wert erhält, dann rufen Sie den Sitzungswert ab und wenden Sie das Häkchen beim vorherigen Auswahl-Radioknopf an.

3

Ich bin nicht sicher, was Ihre Möglichkeiten sind, aber es wäre so etwas;

<input type="radio" name="image_option" value="1"<?php $_POST['image_option'] == 1 ? ' checked="checked"'; ?> /> 

<input type="radio" name="image_option" value="2"<?php $_POST['image_option'] == 2 ? ' checked="checked"'; ?> /> 

<input type="radio" name="image_option" value="3"<?php $_POST['image_option'] == 3 ? ' checked="checked"'; ?> /> 

Hoffe, dass hilft.

0

Nachdem Sie die Seite neu geladen haben, müssen Sie das markierte Attribut den zu überprüfenden Optionsfeldern hinzufügen. Die korrekte Syntax ist:

<input type="radio" name="foo" id="bar" value="1" checked="checked" /> 
1

Ihr Problem ist, dass Sie benötigen:

  1. Der Wert in der Datenbank

  2. Der Wert des Optionsfeld selbst

übereinstimmen

Welche können Sie:

Vergleichen Sie den Datenbankwert (DBV) mit dem Optionsfeldwert (RBV) und setzen Sie ihn als aktiviert, wenn der Vergleich als wahr zurückkommt.

Die Variablen unten sind:

$ ar_rvbs = die Anordnung von radioset Werte (Strings oder Boolesche Werte, in der Regel), die Sie durch eine Schleife gehen und überprüfen gegen die gespeicherten DBV.

$ value = der Wert jedes Element in der radioset Wert Array

$ attrval = der gespeicherte Wert für Optionsfeld. es muss nicht unbedingt in einer Datenbank sein. Sie können die post-Methode verwenden, um sie von einer Seite zur nächsten zu übergeben.

$ checked = Wenn der DBV beim Durchlauf der Schleife mit dem RBV übereinstimmt, wird dieser auf die Zeichenkette "checked" gesetzt, ansonsten ist es nur eine leere Zeichenkette.

function makeRadioSet($ar_rvbs,$attrval=[DBV] /*A*/ 
    { 

    foreach ($ar_rvbs as $value) 
    { 
     $checked = '';       /*B*/ 
     if ($attrval==$value)     /*C*/ 
     $checked = "checked";     /*D*/ 
     echo '<input type="radio" name = "fieldname" value = "'.$value.'" '.$checked.'>'; 
    } 
    } 

/A/Durchlauf die Liste des RBVs als Array und der DBV als Variable

/B/Set auf eine leere Zeichenfolge überprüft, da dies der Standard für alle sein, Optionsfelder in dem Satz mit Ausnahme des einen, der den DBV einstimmt

/C/DBV die auf den aktuellen RBV Vergleichen durch die Schleife aus dem Array RBV verarbeiteten

/D/Ist der Vergleich von Schritt C true zurückgibt, machen das aufgegebene String zum Einfügen in das Eingabeelement verfügbar

Das Echo Pflege Möglichkeit Erzeugen jedes Funkgerät nimmt und den einen dafür sorgen, dass die DBV Spiele "geprüft" in dem Eingabeelement-Tag hat

1

können Sie in folgenden Methode verwenden

@{ 
    string MaleChecked = ""; 
    string FemaleChecked = ""; 
    if(@Model.Gender=="Male") 
     { 
       MaleChecked = "Checked"; 
     } 
    else 
     { 
       FemaleChecked = "Checked"; 
     } 
    } 

wenn Form Verwendung

Male<input type="radio" name="Gender" id="rdoGender" value="Male" @MaleChecked> 
Female<input type="radio" name="Gender" id="rdoGender1" value="Female" @FemaleChecked>