我输入了这样的类型编号
<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/