<select name="Country" id="Country" style="width:200px;">
<option value="0">--Select Country--</option>
<?php
$str_c="SELECT COUNTRY_CODE,COUNTRY_CODE_PARCELFORCE,COUNTRY_DESC FROM COUNTRYS";
$sql_c=mysql_query($str_c,$db) or die(mysql_error());
while($row_c = mysql_fetch_assoc($sql_c)) {
$count_no++;
?>
<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>
<?php } ?>
</select>
如何在值COUNTRY_CODE的 while 循环中添加隐藏变量?是否可以添加像<input type="hidden" name='country_code' value="<?php echo $ro_c['COUNTRY_CODE']?>">
这样的隐藏值,请帮助我...提前感谢...
您不能将隐藏值放在 <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'));
});
我不知道
你为什么要这样做。我建议在选择代码之外执行 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的方法(但请记住我的评论(。