<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>
我怎样才能在while循环中为值COUNTRY_CODE添加隐藏变量?是否可以添加<input type="hidden" name='country_code' value="<?php echo $ro_c['COUNTRY_CODE']?>">
之类的隐藏值,请帮助我......提前致谢...
答案 0 :(得分: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'));
});
答案 1 :(得分: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的方法(但请记住我的评论)。