点击加载数据库项


A href load database items onClick

我正在开发一个简单的内容管理系统,允许用户创建类别和子类别。这是代码

$categories = mysql_query("SELECT * FROM categories");
while($row = mysql_fetch_array($categories)) {
    $text = $row['text'];
    $id = $row['id'];
    echo "<li><a href='?category=$id'>$text</a></li>";
}

现在,一切工作正常,如预期的,但我希望,当用户点击<li>项,系统加载与所选类别相关的子类别。在PHP我不能这样做,所以我需要使用JavaScript,但我不明白为什么。我写了这段代码。

<script type="text/javascript">
    function loadSubCategories() {
        <?php
        if(isset($_REQUEST['category'])) {
            echo "Hello";
        }           
        ?>  
    }
</script>
显然

echo "<li><a href='?category=$id' onClick='javascript:loadSubCategories()'>$text</a></li>";

这不起作用,因为当我点击链接时没有出现任何东西。怎么解?

在函数调用中传递id属性:

 echo "<li><a id="$id" onClick='javascript:loadSubCategories(this.id)'>$text</a></li>";

然后你可以使用jQuery/Ajax,尝试这样做:

$( document ).ready(function() {
    function loadSubCategories(id){
        $.ajax({
            url     : Class/Method-Name,
            type    : 'POST',
            data    : form_data,
            success : function(msg){
                // Action
            }
        }),                
    }
});