如何将(+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个?
答案 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;