当我点击特定用户的“编辑”链接时,我想告诉他他/她离开了多少个休假日......编辑链接是这样的:
print "<a href=\"javascript:editUser('$data[uid]','$data[vacationdays]')\">Edit</a>\n";
所以当我点击ADMIN帐户上的EDIT时: javascript:editUser('Admin',' - 3.0')是实际值
javascript:
<script language="javascript">
function editUser(uid, vacationdays) {
document.userForm.uid.value = uid;
document.userForm.vacationdays.value = vacationdays;
document.location.href = "#AddEdit";
}
</script>
网站PHP / HTML:
Vacation days: <select name="vacationdays" id="vacationdays" />
<?php
for ($i=-30.5;$i<30.5;$i+=0.5)
echo "<option value=\"$i\">$i</option>\n";
?>
</select>
问题是只有负数(-1或-2 ......等)没有显示在表格下拉菜单中。正数显示没有问题。
示例正数:
负数示例:
****我不希望能够从下拉中选择负值..但如果值为负,我只想让它显示一次,当你点击下拉时你只能选择正值数字****
如果我将下拉菜单更改为TEXTFIELD,它可以完美地处理负数......很奇怪?
答案 0 :(得分:1)
只需将负数添加到列表中:
function vacationdays_list() {
for ($i=-30.5; $i<30.5; $i+=0.5)
echo "<option value=\"$i\">$i</option>\n";
}
答案 1 :(得分:0)
生成-30.5到0之间的负数列表
for ($i=-30.5;$i<0;$i+=0.5)
echo "<option value=\"$i\">$i</option>\n";
生成-30.5到+30.5之间的数字列表
for ($i=-30.5;$i<30.5;$i+=0.5)
echo "<option value=\"$i\">$i</option>\n";
如果您希望始终选择为正数,则可以在php中使用绝对abs()
http://php.net/manual/en/function.abs.php或在JavaScript中使用Math.abs
生成-30.5到+30.5之间的数字列表,禁用负数
for ($i=0;$i<30.5;$i+=0.5)
echo "<option value=\"$i\" >$i</option>\n";
for ($i=-30.5;$i<0;$i+=0.5)
echo "<option value=\"$i\" disabled>$i</option>\n";
编辑:
Vacation days: <select name="vacationdays" id="vacationdays" />
<?php
for ($i=30.5;$i>0;$i-=0.5)
echo "<option value=\"$i\" >$i</option>\n";
for ($i=0;$i>-30.5;$i-=0.5)
echo "<option value=\"$i\" disabled>$i</option>\n";
?>
</select>
答案 2 :(得分:0)
你不需要echo
你的功能,所以它应该是
Vacation days: <select name="vacationdays" id="vacationdays" />
<?php vacationdays_list(); ?>
</select>
和负数
function vacationdays_list() {
for ($i=-30.5; $i<30.5; $i+=0.5)
echo "<option value=\"$i\">$i</option>\n";
}