属性以选择器开头,适用于第一个输入字段(不适用于其他字段)

时间:2016-08-10 07:31:56

标签: javascript jquery

这里我遇到了属性启动选择器的问题,我试图对多个字段进行验证,有动态ID,但没有成功。

下面是我到目前为止所尝试的内容。

我在So中看到了其他建议,但无法成功。

  $("input[id^='product-unit-price-']").keydown(function (event) {
    });

HTML

 <input type="text"  class="form-control pro-input valfields" id="product-unit-price-<?php echo $id;?>" name="unit_price[]" onblur="getTotalPrice(<?php echo $id;?>)" required="">

这里的id是动态的,如

产品单价-0

产品单价-1

产品单价-2

产品单价-3

依旧......

这里它仅用于第一个id(product-unit-price-0),但不用于休息。 它的所有东西。

建议我。

谢谢。

2 个答案:

答案 0 :(得分:3)

我认为您在使用$("input[id^='product-unit-price-']")方法时使用val()来引用处理程序内的元素,而$(this)方法始终返回第一个元素的值,而不是触发事件的元素。在这种情况下,使用this来引用$("input[id^='product-unit-price-']").keydown(function (event) { // refer element by `$(this)` }) 引用事件触发元素的dom对象的元素。

else

FYI:为元素组提供公共类总是更好,并根据更好的方法进行选择。

答案 1 :(得分:0)

为什么不选择班级选择器?

if (textFromBox2 != textFromBox3) 

因为从类选择器中,您可以选择相同类组元素的集合,并在集合的每个元素上应用事件。