我繼承了一個項目,它向客戶提供訂單。無法使用jquery選擇表單
訂單是一個表格,並且添加到購物車是(意味着!)用jQuery處理。
代碼我有一個看起來像這樣的工作:
<table>
<form id="prod1" method="post" action="">
<tr>
<td>Prod Name</td><td><input type="text" name="prod1qty" id="prod1qty" /></td><td><input type="button" id="prod1add" /></td>
<tr>
</form>
<form id="prod2" method="post" action="">
<tr>
<td>Prod Name</td><td><input type="text" name="prod2qty" id="prod2qty" /></td><td><input type="button" id="prod2add" /></td>
<tr>
</form>
<form id="prod3" method="post" action="">
<tr>
<td>Prod Name</td><td><input type="text" name="prod3qty" id="prod3qty" /></td><td><input type="button" id="prod3add" /></td>
<tr>
</form>
</table>
我想選擇所有的輸入型形式中=「按鈕」元素與ID的起點「刺」與jQuery,所以我可以給他們點擊功能...
$("form[id^='prod'] :input[type='button']").click(function(){
console.log(this);
});
但它的失敗......我想看看它是否是由具有的.css更換。點擊()(「邊界」,「1px的紅色實」)到達元素但它並沒有採用它。
我則在該<form>
是灰顯螢火蟲注意到,收在同一行,即:
<form id="prod1" method="post" action="" />
<tr>
<td>Prod Name</td><td><input type="text" name="prod1qty" id="prod1qty" /></td><td><input type="button" id="prod1add" /></td>
<tr>
<form id="prod2" method="post" action="" />
<tr>
<td>Prod Name</td><td><input type="text" name="prod2qty" id="prod2qty" /></td><td><input type="button" id="prod2add" /></td>
<tr>
看來這個代碼是有效的HTML(把它通過驗證),所以爲什麼發生這種情況?
謝謝! Josh
你錯了。這不是有效的HTML。表單元素可能不是錶行或錶行的父元素的子元素。 – Quentin
啊,好的。剛剛擺脫了形式,給了'tr'''形式'曾經有過的id,在選擇器及其工作中將'form'更改爲'tr'。謝謝! 我猜測驗證器只檢查有效的語法和結構的有效性。 – Josh