2015-11-23 24 views
-2

我有一個具有多個輸入同名的表單。用戶將能夠動態添加/刪除輸入行。例如。Javascript/jQuery多輸入,獲取輸入位置

<div><select name="Car[]"></select> <input name="Qty[]"></div> 
<button> Add another line</button> 

用戶交互,還有一種可能性,它將成爲:

<div><select name="Car[]"></select> <input name="Qty[]"></div> 
<div><select name="Car[]"></select> <input name="Qty[]"></div> 
<div><select name="Car[]"></select> <input name="Qty[]"></div> 
....... 
<button> Add another line</button> 

添加按鈕只是讓家長()的克隆和下方追加了。

我想執行如本田思域,只允許數量小於9豐田普銳斯數量小於17 ...

的實施將使用在jquery.change()函數。 $(輸入[名稱=「數量」])。其他城市)

$(input[name="Qty"]).change(function() { 
    if(***value car*** == "Honda Civic" && $(this).val() > 9) $(this).val(0); 
    else if(***value car*** == "Toyota Prius" && $(this).val() > 17) $(this).val(0); 
    else if(***value car*** == "Maserati Ghibli" && $(this).val() > 3) $(this).val(0); 
}); 

我怎樣才能得到輸入量位置,並獲得輸入汽車的價值?

+0

爲此,您可能需要展示添加代碼的工作原理。 –

+0

我只使用jquery clone。 – bleach7

+0

好吧那麼你會如何分配基於車型的數量? –

回答

-1

試試jquery .size()它會告訴你有多少選擇或輸入你有https://api.jquery.com/size/

,並獲得通過。每個值()https://api.jquery.com/each/

+0

我打算在用戶輸入時使用jquery $(input [name = Qty])。change()來檢查。但我對任何其他建議持開放態度。 – bleach7

+0

可以分享你的代碼嗎?或者如果你讓小提琴最好 –

0

不能創建存儲車名,以限制的對象?例如:

var carLimits = { 
    'Honda Civic': '8', 
    'Toyota Prius': '16' 
}; 

然後您可以只計算用戶添加了多少「事物」。

hondaCivicCount++

然後創建一個if語句來檢查hondaCivicCount是增加一個「東西」之前,其小於或等於carLimit

儘管如此,如果你正在做的事情需要安全,你最好做一些服務器端驗證。