質問する
2905 次
2 に答える
0
なぜあなたがこれをしたいのかわかりません。選択コードの外側で while ループを実行することをお勧めします。
だからあなたは得る
<?php
// sql stuff
$options = '';
$hidden = '';
while($row_c = mysql_fetch_assoc($sql_c)){
$count_no++;
$options .= "<option value="<?php echo $row_c['COUNTRY_CODE_PARCELFORCE'];?>"<?php if($row_c['COUNTRY_DESC']== $row['COUNTRY']) echo 'selected="selected"'?>><?php echo $row_c['COUNTRY_DESC'];?></option>"
$hidden .= "<input type="hidden" name='country_code' value="<?php echo $ro_c['COUNTRY_CODE']?>">";
}
// now the select
?>
<select>
<?php echo $options; ?>
</select>
<!-- hidden values -->
<?php echo $hidden; ?>
あなたのコメントは、それが検証目的であると言っています。検証のためにこれを行う必要がある理由が思いつきません。それらがすでにデータベースに保存されている場合は、フォームが投稿/送信されたら、データベースに対して検証ルックアップを行う必要があります。
それ以外の場合は、@ubercooluk の方法を使用します (ただし、私のコメントに注意してください)。
于 2012-07-18T10:49:48.613 に答える
0
タグ内に非表示の値を入れることはできませんが<select>
、カスタム属性を追加したい場合は、次のoption
ようにすることができます
<option value="<?php echo $row_c['COUNTRY_CODE_PARCELFORCE'];?>"<?php if($row_c['COUNTRY_DESC']== $row['COUNTRY']) echo 'selected="selected"'?> attribute1="<?php echo $row_c['CUSTOM_ATTR'];?>"><?php echo $row_c['COUNTRY_DESC'];?></option>
Jquery を使用して cutom 属性にアクセスするには、次のように使用します
$('#Country').change(function(){
alert($(this).find('option:selected').attr('attribute1'));
});
于 2012-07-18T10:48:37.287 に答える