拉下来的javascript负数

时间:2013-04-25 17:31:32

标签: php javascript

当我点击特定用户的“编辑”链接时,我想告诉他他/她离开了多少个休假日......编辑链接是这样的:

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 ......等)没有显示在表格下拉菜单中。正数显示没有问题。

示例正数: enter image description here

负数示例:enter image description here

****我不希望能够从下拉中选择负值..但如果值为负,我只想让它显示一次,当你点击下拉时你只能选择正值数字****

如果我将下拉菜单更改为TEXTFIELD,它可以完美地处理负数......很奇怪?

3 个答案:

答案 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";
}