javascript - 我可以从类型号中获取字符串值吗

标签 javascript jquery html

我输入了这样的类型编号

<input type="number" class="number" min="0" max="999999" value="0" id="id">

当我使用这段代码时

$("#id").val();

如果它是像1这样的数字,它返回数字

但如果不是像 1+1 这样的数字,它会返回空字符串 ""

所以我可以得到带有类型数字的实际值,或者我必须更改为文本才能这样做

我用 chrome 和 firefox 测试了一下

我知道它适用于文本类型

但如果没有,我正在寻找更快的解决方案,那么我会将其更改为文本并重写代码


这是我的问题 现在,当我使用 jquery 将类型更改为文本时,它删除了值我可以在不删除值的情况下更改它吗?

$('#id').attr('type','text')

我想做的是让类型文本获取值并将其返回给数字

最佳答案

你不能用 <input type='number'/> 来做,

<input type="number" >会期望你输入一个数字,所以如果你输入类似 1+1 的东西, 它不被认为是一个数字,所以返回一个空字符串 ""。

您可以改为使用 <input type=text/>

查看此 fiddle

$('input').on('change', function() {
  var strVal = $("#id").val();
  var intVal = eval(strVal);
  alert(intVal);

})
  

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="number" value="0" id="id">

编辑:

如果你不能改变整个 html,你可以使用 jquery 改变元素的类型,

$('input[type=number]').attr('type','text')

把它放在页面加载上

关于javascript - 我可以从类型号中获取字符串值吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29030685/

相关文章:

javascript - 如何在局部范围内重新定义对象变量

javascript - Internet 浏览器 jquery + SVG

javascript - jQuery 工具验证器 : url and %20

javascript - 当浏览器移动到不同页面时显示加载图形

python - BeautifulSoup4 : select elements where attributes are not equal to x

javascript - HTML5 文本字段的正则表达式模式

javascript - 为什么在单击事件监听器中触发 click() 不会导致无限循环?

Javascript 音频播放两次

javascript - 如何使我的 Canvas 区域适合 iphone 浏览器?

javascript - 使用 Kinvey.Social 通过 Angular 应用程序和 Promise API 登录