我有很多分别带有type text
和number
的输入标签。我想将所有具有数字值的input type text
替换为input type number
,但不知道如何仅使用值中的数字。我正在使用下面的代码来完成它。
$( "[value*='']").attr('type','number');
答案 0 :(得分:2)
您可以尝试.filter
并使用isNaN
检查值是否为数字
$(document).ready(function() {
$("input[type='text']").filter(function() {
return !isNaN( $(this).val() ) && $(this).val().trim() !== "";
}).attr("type", "number");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" value="Javascript">
<input type="text" value="Apple">
<input type="text" value="1">
<input type="text" value="3">
<input type="text" value="1000">
<input type="text" value="">
答案 1 :(得分:0)
也许迭代和检查会这样做:
for(const el of $("[value*='']").toArray())
if(parseInt(el.value))
$(el).attr('type','number');