繁体   English   中英

JavaScript负数下拉

[英]javascript negative number in pull down

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

print "<a href=\"javascript:editUser('$data[uid]','$data[vacationdays]')\">Edit</a>\n";

因此,当我在ADMIN帐户上单击“编辑”时: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,则在负数的情况下效果很好...很奇怪吗?

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

function vacationdays_list() {
    for ($i=-30.5; $i<30.5; $i+=0.5)
        echo "<option value=\"$i\">$i</option>\n";
}

生成-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中的Absolute 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>   

您无需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";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM