jquery .val('') 不起作用,留下 0 而不是清除字段

Posted

技术标签:

【中文标题】jquery .val(\'\') 不起作用,留下 0 而不是清除字段【英文标题】:jquery .val('') not working, leaves a 0 instead of clearing the fieldjquery .val('') 不起作用,留下 0 而不是清除字段 【发布时间】:2021-04-12 15:22:17 【问题描述】:

我有一个值为 0 的 jquery.number 文本框

当我运行$('#txt').val(1); 时,它变为1(到目前为止一切顺利)

当我运行 $('#txt').val(''); 时,它变成了 0 !不好,我要清除。

document.getElementById('txt').value = ""; 这可行,但我更喜欢使用 jquery...

有人知道可能发生了什么吗?

【问题讨论】:

你能展示一些你的代码吗? 这是生成的html 【参考方案1】:

问题是因为在输入 type="number" 上不允许使用 jQuery 解析非数字值

如果你真的想正确使用'',最好使用type="text"

编辑:

developer.mozilla.org/.../isNaN 上有关于此的参考

isNaN(''); // false: 空字符串被转换为 0 不是NaN

更多关于jQuery Allow Numbers and Decimal only in Textbox [numeric]的解释

【讨论】:

它已经有 type="text" 仍然有同样的问题 在您之前的评论中,您提到了此代码:data-controltype="jquery-number" ...请检查...并在不同的浏览器(Chrome、Firefox、...)中尝试您的页面以查看兼容性,数字有时很棘手:)

以上是关于jquery .val('') 不起作用,留下 0 而不是清除字段的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 选择器 [name=value] 不起作用

jQuery `.is(":visible")` 在 Chrome 中不起作用

jQuery自动完成选择:功能不起作用

jquery ajax 不起作用 - 成功和错误 [关闭]

如何在 jQuery 中使用 preg_match?

jQuery触摸事件iOS将不起作用