问问题
2905 次
2 回答
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 回答
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 回答