jquery - 在不同的函数中使用函数id

时间:2010-12-29 00:48:33

标签: jquery

我有这样的功能:

function loadcategory(id) {
   jQuery("#categoryArea").load("ajax_post_category.php?catid="+id+"");
  }

即时通过链接获取ID:

<a href='javascript:loadcategory(".$row['catid'].");'>

我想在不同的函数中使用函数loadcategory(id)的id。例如:

function different() {
       jQuery("#different").load("ajax_post_category.php?catid="+loadcategory(id)+"");
      }

你可以看到我想使用+ loadcategory(id)+,但是我没有得到任何值。好吧,我如何通过jquery获得该值?我不知道,有谁可以告诉我真正的方式?

问候

1 个答案:

答案 0 :(得分:1)

您提供的代码段:

<a href='javascript:loadcategory(".$row['catid'].");'>

...似乎是为锚标记生成 href的PHP代码。具体来说,它似乎输出一个特定的ID,以便发送到浏览器的生成的标记如下所示:

<a href='javascript:loadcategory("foo");'>

你的第二个例子:

jQuery("#different").load("ajax_post_category.php?catid="+loadcategory(id)+"");

...正在使用完全客户端代码和未定义的值(id)。

要重用该功能,您必须使用PHP输出不同的ID,或将ID传递给different,或者确保将一些有效的ID传递到loadcategory。没有更多的信息,很难说出推荐的内容,但例如,假设您有一系列锚标记,并且每个锚标记都有一个data-cat属性,可以归类为什么类别负载:

<a href='#' data-cat="foo">
<a href='#' data-cat="bar">
<a href='#' data-cat="baz">

然后你可以使用这些值为loadcategory挂起一个处理程序:

jQuery(function($) {
    $('a[data-cat]').click(function() {
        loadcategory($(this).attr('data-cat'));
        return false;
    });
 });

通过查找具有data-cat属性的所有锚标记,挂钩其click事件,以及何时获取data-cat属性并使用该loadcategory调用{{1}}来工作值。

这是对你想做什么的猜测,但希望有所用。