0

我有一个列出我的学生的表格.. 许可证号列将显示许可证号,或者如果数据库中没有数字,它将显示一个文本框..

提交后(注意:没有提交按钮,为了保持它,我只需按回车键) PHP 脚本的结果将通过 Ajax 显示。

我的完整代码在这里。 http://pastebin.com/9k0EKXA9

以下是每行许可证号单元格中的代码:

   <td><?php // check if license number exists. 
                    if($row['license_no'] == '')
                    {
                        //show form. 
                        ?>
                        <form method="POST" id="license_no_update"">
                            <input type="text" name="license_no" value="License Number" />
                        <input type="hidden" value="<?php echo $row['student_id']; ?>" name="student_id"  />

                        </form>
                        <div id="output"></div>
                        <?php

                    }else{
                        //show license no. 
                        echo $row['license_no'];
                    }
                    ?></td>

这是JQUERY

<script type="text/javascript">
$(document).ready(function() {

    $("#license_no_update").submit(function() {

        var license_no_update = $(this).serialize();

        $.post('license_update.php', license_no_update, function(data) {

                // We not pop the output inside the #output DIV.
                $("#output").html(data);

        });

        return false;
    });

});
</script>

我遇到的问题,即使在多次搜索谷歌之后。我知道我必须为表格的每一行设置一个新的表单和元素 ID。但即使我有这些,我也不知道如何让 JQUERY 找到那个唯一的号码..

目前附有代码,如果我在表格的第一行提交,则会显示正确的结果,如果我在任何其他行提交,则不会显示任何内容..

我希望一切都说得通。

问候

亚伦

4

1 回答 1

0

用于.find()在 clicked 中查找隐藏输入的值form。请注意表单本身的用途$(this),然后您可以通过其名称缩小输入范围,因为您知道名称。

但是,目前还不清楚你想用它做什么,id所以我把它留给你。

 $("#license_no_update").submit(function() {

    var studentID = $(this).find("input[name='student_id']").val();

        var license_no_update = $(this).serialize();

        $.post('license_update.php', license_no_update, function(data) {

                // We not pop the output inside the #output DIV.
                $("#output-" + studentID).html(data);

        });

    return false;
});

更新:

ID这是为每个创建唯一的一种方法output

if($row['license_no'] == '')
                    {
                        //show form. 
                        ?>
                        <form method="POST" id="license_no_update"">
                            <input type="text" name="license_no" value="License Number" />
                        <input type="hidden" value="<?php echo $row['student_id']; ?>" name="student_id"  />

                        </form>
                        <div id="output-<?php echo $row['student_id']; ?>"></div>
                        <?php

                    }else{
                        //show license no. 
                        echo $row['license_no'];
                    }
于 2013-04-03T13:32:14.217 回答