无法使用jquery选择表单

时间:2010-02-14 19:38:12

标签: jquery html

我继承了一个项目,为客户提供订单。

订单表格是一个表格,并且使用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(通过验证器),为什么会发生这种情况呢?

谢谢! 约什

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题。也许如果您使用“class=prod”并检查$('.prod').click(function (){});可能会让您访问所点击表单中的元素。

答案 1 :(得分:0)

以为我最好正确地解决这个问题......

David Dorward的评论回答了我的问题。

感谢您的建议!