复选框值发布和jquery ajax

时间:2011-01-22 21:07:01

标签: php jquery ajax

我在我的程序中有这个场景,我正在使用下面的代码打印一个复选框列表到我的主页

<form action="two.php" method="post">
    <div id="option_box" style="width: 250px; height: 400px; overflow: scroll;">
            <?php
            $sql = "SELECT * FROM gene_names ORDER BY name";
            $result = $db->query($sql);
            $counter = 0;
            echo "<table border=\"0\">";
            while ($row = $result->fetch()) {
                $output[] = "<tr>"; 
                $output[] = "<td>"; 
                $output[] = "<input type=\"checkbox\" value=\"".$row['name']."\" name=\"things[]\" id=\"ran\"/>";   
                $output[] = " ";     
                $output[] = $row['name'];
                                $output[] = "</td>";  
                $output[] = "</tr>";    
                $counter++;
            }
            echo join('',$output);
            echo "</table>";
        ?>
    </div>
    <input type="submit" value="See Interactions" name="see" id="see"/>
 </form>

之后我使用下面的代码来使用jquery ajax

完成该过程
        $('#see').click(function(eve){
                eve.preventDefault();
                $.post('two.php', function(data) {
                        $('#results_of_interactions').html(data);
                });
    });

但我需要在我的two.php(处理上述表单的进程的文件)文件中获取所选复选框值以执行sql查询,但是当我使用此jquery方法时,复选框变量是我的two.php文件不可用,所以我的查询没有正确执行,我无法得到结果,我怎么能纠正这个问题?请建议一些事情要做,修改这个或另一种方法?

的问候, 兰加纳

1 个答案:

答案 0 :(得分:1)

那是因为您必须手动准备数据并将其与您的帖子请求一起发送,它不提交表单,它会提交您手动指示提交给two.php的任何内容

$('#see').click(function(eve){
    eve.preventDefault();

    //serialize form data to be sent with request
    var data = $('form').serialize();

    //send request with 'data'
    $.post('two.php', data, function(data) {
        $('#results_of_interactions').html(data);
    },'json');
});