【发布时间】:2016-06-28 17:51:11
【问题描述】:
不能以任何方式将输入文本的值转换为数字!已经尝试过 JS Number(input.val()) 也 parseInt(input.val(),10) 以及一元 +input.val() ...如果小于或等于,我需要通过条件语句比较输入。
有人问,我需要输入字段为文本类型,因为我使用插件 jquery 旋钮。我知道输入类型号。
非常感谢任何提醒......不可能没有办法强制进行这种转换。
** 更新 ** Myabe 我忘了补充,我已经读过但仍然不明白为什么,我正在迭代具有相同类的输入,然后使用 this.val(),作为修复我已经阅读了一个元素必须是用它的#id 调用。在我的情况下不能这样做。 fiddle here
$('.hello').each(function () {
var temp = $(this).val();
console.log(+temp + " , " + parseInt(temp, 10) + " , " + temp +" , "+Number(temp)+" ,"+$(this).val());
if (!$(this).val() <= 1) {
$(this).val(--temp).trigger('change');
}
});
【问题讨论】:
-
“不能以任何方式将输入文本的值转换为数字!”你已经知道这么多......
-
你能提供一些代码吗?您在哪里遇到问题?
-
对,给我们看看代码,只要看看你的描述,它应该可以正常工作
-
您必须将从使用的转换方法返回的值存储到变量中。从输入元素 (type=text) 检索的值始终是字符串,不能“就地”转换。
-
如果
input是 DOMinput元素,请注意它没有val()方法。它有一个value属性。在它前面加上一个+,它将被转换为一个数字:+input.value。使用 jQuery:+$(input).val().
标签: javascript jquery string integer