0

当我点击特定用户的“编辑”链接时,它应该告诉我他/她还剩下多少假期......编辑链接是这样的:

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,它在负数的情况下工作得很好……奇怪吗?

4

3 回答 3

1

只需将负数添加到您的列表中:

function vacationdays_list() {
    for ($i=-30.5; $i<30.5; $i+=0.5)
        echo "<option value=\"$i\">$i</option>\n";
}
于 2013-04-25T17:35:25.843 回答
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 或JavaScript中使用 Absolute abs() http://php.net/manual/en/function.abs.phpMath.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>   
于 2013-04-25T17:33:16.283 回答
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";
}
于 2013-04-25T18:18:40.710 回答