通过 jQuery 选择数字类型的输入

Posted

技术标签:

【中文标题】通过 jQuery 选择数字类型的输入【英文标题】:Select inputs with number type through jQuery 【发布时间】:2011-06-20 16:49:01 【问题描述】:

如何在 jQuery 中选择所有数字类型的输入?

以下代码不起作用:

$(':input[type="number"]').click(function ()  
   alert('hello'); 
);

谢谢。

【问题讨论】:

代码示例?据我所知,这“应该”有效 【参考方案1】:

您的选择器是正确的。使用attribute-equals-selector(docs),它将选择具有该类型的输入元素。

您需要确保在运行 DOM 之前已加载它。

示例: http://jsfiddle.net/H2aQr/

$(function() 
    $(':input[type="number"]').click(function ()  alert('hello'); );
);

【讨论】:

onclick 在我点击箭头时似乎没有触发 @Josh,您的意思是在示例中?这个对我有用。你用的是哪个浏览器? 另外,您必须从 :input 中删除冒号以获得 IE 支持 @jAndy:你可能还没有看到我的其他评论,但:input 的情况并非如此。 @Josh:奇怪。我用的是 9.0.597.67 beta,没问题。我不明白为什么需要为 IE 删除 :。它是一个有效的 jQuery/Sizzle 选择器,并且只是 input、textarea、select 和 button 元素的快捷方式。 api.jquery.com/input-selector【参考方案2】:

我认为你的问题是输入前的“:”。

尝试:

$('input[type="number"]').click(function ()  alert('hello'); ); 

【讨论】:

这是一个有效的选择器(带有冒号)。它被称为input-selector 不,: 是不好的做法,因为隐式使用了通用选择器,但这不是问题。 我的 firefox 只能在没有“:”的情况下工作。可能有问题 @jAndy:对于大多数这些类型,但不是对于这个(尽管它仍然选择了超​​出需要的范围)。这只是选择所有表单标签的快捷方式。 :checkbox 之类的东西是 [type='checkbox'] 的快捷方式,这意味着通用选择。【参考方案3】:

正如您在此处看到的,您的代码运行良好...http://jsfiddle.net/U47Vj/ 也许您的浏览器不支持此html5 Feature。在 Chrome 中一切都很好。 FF 3.6 中的相同代码中断。

【讨论】:

【参考方案4】:

开头不需要冒号,用于选择输入类型,如 $('input:text')

所以$('input[type="number"]').click(function () alert('hello'); );

效果很好

【讨论】:

以上是关于通过 jQuery 选择数字类型的输入的主要内容,如果未能解决你的问题,请参考以下文章

jquery内联验证数字和带字符的数字?

如何使 jquery.inputmask 与输入类型 = 数字一起使用?

jQuery实现数字加减效果汇总

jquery 怎么设置输入框只能输入数字

为国家选择数字时,将 jQuery 后面的数字放在后面

jquery中字符串(string)类型的数字怎样转换成整数(number)类型?