我继承了一个项目,为客户提供订单。
订单表格是一个表格,并且使用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开头“prod”的表单中的所有input type =“button”元素,这样我就可以给它们一个点击功能......
$("form[id^='prod'] :input[type='button']").click(function(){
console.log(this);
});
但它的失败......我试图通过用.css('border','1px solid red')替换.click()来查看它是否到达了元素,但它没有把它拿起来。
然后我在萤火虫中注意到<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(通过验证器),为什么会发生这种情况呢?
谢谢! 约什
答案 0 :(得分:0)
如果我理解你的问题。也许如果您使用“class=prod
”并检查$('.prod').click(function (){});
可能会让您访问所点击表单中的元素。
答案 1 :(得分:0)