如何在var

时间:2016-02-02 14:14:22

标签: javascript jquery

如何将(+1)添加到var interval的返回值?

我有一个滑块,一切都在使用下面的代码。我只想将最小值设置为间隔+ 1.因此,如果间隔值为2,我想在最小值为3时将其设为3。感谢

var $slider = $('input[name="notification_interval"]');

$slider.on('change', function() {
    var interval = $(this).val();

    $("#maxshift").attr("min", interval);

    $("#maxshift").change();


});

跟进问题:是否可以将(+1)添加到var间隔最多24个?

3 个答案:

答案 0 :(得分:3)

您应该解析数字(一个字符串)以添加1,如下所示:

interval = $('input[name="notification_interval"]').val();
interval = parseInt(interval, 10) + 1;
                              ^^ ATTENTION HERE

parseInt()调用中的10的基数是必要的。没有基地就不要使用parseInt()

有必要将数字解析为数字,因为+运算符会被重载并且具有不同的语义,具体取决于加数的类型:

"hello" + 1  => "hello1"

此示例显示字符串如何与1连接,parseInt()是一个数字,但在连接之前将被强制转换为字符串。

有一个 reticule (优先级映射),用于指定在使用混合类型时如何执行类型强制。

要真正做到这一点,只需在字符串上使用{{1}}进行算术加法。

答案 1 :(得分:1)

其他答案已经说明了为什么以及如何使用parseInt()

如果我理解您的“跟进问题”,则您希望停止将值{24}的interval递增。

你可以通过很多方式实现它。一个人会使用if - 声明,例如

interval = parseInt(interval, 10);

if (interval < 24) { 
  $("#maxshift").attr("min", interval + 1);
}

或者您可以使用Math.min()执行此操作,例如这个单行:

$("#maxshift").attr("min", Math.min(24, parseInt(interval, 10) + 1));

第一个非常明确地表达了意图 第二个是较短的,有点难以理解,但如果interval已经大于24,它也会更“安全”。

答案 2 :(得分:0)

select name,
       desig,
       sal,
       (select approved from approval_table apv1 where apv1.data = emp.name) name_aprvd,
       (select approved from approval_table apv2 where apv2.data = emp.desig) desig_aprvd,
       (select approved from approval_table apv3 where apv3.data = emp.sal) sal_aprvd
from   empdata emp;