JQuery .each循环问题

CoB*_*olt 5 html php jquery

好的,这就是这个想法:

我想制作一个jQuery脚本来处理多个表单.每个表单都有一个按钮.单击此按钮时,脚本应将$ _POST中的所有输入字段的名称和值发送到表单的操作URL.但我不能让它发挥作用.

它不会在我的jQuery文件中循环遍历第3行的.each.

jQuery的:

$("input[type='button']").click(function(){
    var query = {};
    $(this).parent('form').children('input[type="text"]').each(function(){
        query[$(this).attr('name')] = $(this).val();
    });

    $.post($(this).parent('form').attr('action'), query, function(data) {
        $("#dialog").html(data);
        $("#ui-id-1").html('Activate account');
        $("#dialog").dialog("open");
    }, 'json');
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<form action="/action/activateacc.php">
<table>
    <tr>
        <td>E-mail:</td>
        <td><input type="text" id="mail" name="mail" /></td>
        <td><img class="tick" id="mailIMG" width="20px" /></td>
    </tr>
    <tr>
        <td>Activation code:</td>
        <td><input type="text" id="code" name="code" /></td>
        <td><img class="tick" id="codeIMG" width="20px" /></td>
    </tr>
    <tr>
        <td>Choose organization-name:</td>
        <td><input type="text" id="name" name="name" /></td>
        <td><img class="tick" id="nameIMG" width="20px" /></td>
    </tr>
    <tr>
        <td></td>
        <td style="text-align:center"><input type="button" style="cursor:pointer" value="Activate account" /></td>
    </tr>
 </table>
 </form>
Run Code Online (Sandbox Code Playgroud)

Man*_*eUK 0

.parent()只上升 DOM 的一个级别 - 尝试使用.closest()and find()- 所以

$(this).closets('form').find('input[type="text"]').each(function(){
Run Code Online (Sandbox Code Playgroud)