1

html:

<label><input type="radio" name="league" value="Bronze">Bronze</label>
<label><input type="radio" name="league" value="Silver">Silver</label>
<label><input type="radio" name="league" value="Gold">Gold</label>
<label><input type="radio" name="league" value="Platinum">Platinum</label>
<label><input type="radio" name="league" value="Diamond">Diamond</label>
<label><input type="radio" name="league" value="Master">Master</label>
<label><input type="radio" name="league" value="Grand Master">Grand Master</label>

選択したものをVARCHARとして保存するデータベース列があります(他のものを使用する必要がありますか?)。データベースに保存されているものと一致するラジオボタンが選択されるように設定するにはどうすればよいですか?

これをドロップダウンメニューに変更することもできますが、それでも、選択した値を設定する方法を知る必要があります。

これが私が試したものですが、何らかの理由で機能しないようです。

<?php
     $leagues = array('Bronze', 'Silver', 'Gold', 'Platinum', 'Diamond', 'Master', 'Grand Master');
     foreach ($leagues as $key=>$value) {
          $selected = ($value == $user_data['league'] ? ' selected="selected"' :  '');
          echo '<label><input type="radio" name="league"' . $selected . ' value="' . $value . '">' . $value . '</label> ';
     }
?>
4

1 に答える 1

0

まず、データベースから保存された値を取得します。どのサーバー側言語を使用していますか?

編集:phpを追加しました。

<?php
 $leagues = array('Bronze', 'Silver', 'Gold', 'Platinum', 'Diamond', 'Master', 'Grand Master');
 foreach ($leagues as $key=>$value) {
      $selected = ($value == $user_data['league'] ? ' checked="checked"' :  '');
      echo '<label><input type="radio" name="league"' . $selected . ' value="' . $value . '">' . $value . '</label> ';
 }
?>

<script>
var value = <? /* Your PHP code to get the stored value from the db...*/ ?>;

/* radioOptions will store the array of radio buttons.*/
var radioOptions = document.getElementsByName("league");
var i;
for (i = 0; i < radioOptions.length; i++) {
    /* Check if the value of the radio option matches the stored value.*/
    if (radioOptions[i] === value) {
        radioOptions[i].checked = true;
        /* No need to check the others.*/
        break;
    }
}    
</script>
于 2013-01-21T04:26:11.487 に答える