2016-08-10 17 views
0

在這裏我有一個與選擇器開始的屬性問題,我試圖做多字段驗證,有動態IDS,但沒有成功。屬性開始於選擇器,爲第一個輸入字段(不適用於其他人)工作

下面是我到目前爲止所嘗試的。

我已經看到了其他建議,但無法做到。

$("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

PR oduct-單價-2

產品單價-3-

等..

這裏其工作僅第一ID(產品單價-0),但不是休息。其所有的東西。

推薦我。

謝謝。

+1

處理程序內部的其餘部分在哪裏? –

+0

我只給出了這部分內容。 – sradha

+2

問題不在於選擇器。 '$(「input [id^='product-unit-price - ']」)'將選擇所有具有以「product-unit-price-」開頭的「id屬性」的輸入元素。沒有代碼的其餘部分,我們只能猜測你可能做錯了什麼。分享你的其他代碼。 – Ozan

回答

3

我認爲你使用的是$("input[id^='product-unit-price-']")在這種情況下引用處理程序中的元素,同時應用val()方法,該方法總是返回第一個元素的值,而不是觸發事件的元素。在這種情況下,使用$(this)來引用元素,其中this指向事件觸發元素的dom對象。

$("input[id^='product-unit-price-']").keydown(function (event) { 
    // refer element by `$(this)`  
}) 

FYI:它總是更好地爲集團的元素提供了一個通用類,並選擇基礎上這是更好的方式來做到這一點。

0

爲什麼不選擇類選擇器?

$(".form-control.pro-input.valfields").keydown(function (event) { 
// your logics here 
} 

因爲從類選擇你可以選擇設置相同的類組的元素和組中的每個元素應用事件。

相關問題