jQuery中具有相同id的文本框

时间:2011-02-01 05:05:32

标签: jquery

我在UI中有文本框作为网格内部。我的意思是说许多具有相同ID的文本框  @Html.TextBox("Buyer Charge") 在源代码中,它的用途如下: <input id="Buyer_Charge" name="Buyer Charge" type="text" value="1.0000" />

以下是我的查询

  1. 我在ID文本框模糊的情况下触发了一个事件 - &#34; Buyer_Charge&#34;。它仅针对第一行文本框进行触发。它并不是在那个网格

  2. 中为下一行文本框而烦恼
  3. 我想将Text值格式化为Currency值(&#34; $ ###,###,###,## 0.00&#34;)

  4. 请让我知道我的疑问的灵魂

3 个答案:

答案 0 :(得分:2)

首先,id在页面中应该是唯一的。这就是为什么它只会像你所说的那样在第一个上发射。

demo

但是!如果你无法帮助它,这里有一个小技巧。

$('[id=Buyer_Charge]').css('border', '1px solid red');

demo

并格式化<input>,请尝试masked plugin

答案 1 :(得分:0)

我的理解是ID总是应该是唯一的,如果有相同ID的倍数,代码只会影响第一个找到的,这就是你所说的。

那说,像

$(#Buyer_Charge).each(function(){ change format });

可能是您正在寻找的。考虑将ID转换为html中的类。

类应定义与ID应引用特定元素的方式相同的元素。

答案 2 :(得分:0)

U应该将ID更改为class,coz id是唯一的。

并且可以使用.each()方法循环它并设置.focus()方法来更改文本输入的边框 关于将值格式化为货币,您可以再次使用.each()方法并将代码用于set_currency。

$('.Buyer_Charge).each(function(){ set_currency });

Demo在演示中,我只是在文本输入上创建事件模糊