JQuery: Bir A HREF ile bir iç eklenti işlevini çağırmak için nasıl

0 Cevap php

Ben sadece yapılan bir arama API kullanarak benim site için biraz Widget yapıyorum. Kısaca, ben son mesajları veya üst anma mesajları almak istiyorum. Bunun için sekmeler lazım.

Varsayılan olarak, yükleme, ben son gönderileri değilim. Ben En mesajların tıklarsanız, ben doğru sırayla veri almak benim arama API söylemek bir var değiştirmek benim eklenti içinde bir işlevi çağırmak istiyorum.

Ben çok açık mıyım bilmiyorum .. benim (basitleştirilmiş) koduna bir göz atın:

jQuery.fn.Widget=function(id_place,id_event,options){

// here, i tell that by default, you have to load latest posts
    var defaults = {
         launch : '1',   // in seconds
         max : '10',    // nmber posts to retrieve
         sort : 'last'
    };
    var options = $.extend({}, defaults, options);


// here the function I'd like to call to change the options.sort used to call the search API
    var change_tab = function(sort) {
        switch(sort){
            case 'last' : active[0] = ' class="active"'; break;
            case 'top' : active[1] = ' class="active"'; break;
            case 'info' : active[2] = ' class="active"'; break;
                        default: break;
        }
        options.sort = sort;
    }

// here, I try to call the change_tab function above, inside my plugin  
    $(".sort_top").click(function(){
        Widget(id_place,id_event,options).change_tab('top');
    }) ;

// here, an extract of me tab menu of my widget. With the link to change sorting method
    $("#myWidget").html('<a href="javascript:;" class="sort_top"><li'+active[1]+'>Top Questions</li>');


// here, I retrieve data an arrange it  
    jsonp_callback = function(data) {
        if ( data['results'].length > 0 ) {
            // do something
        }
    }

// here, I call my search API, with the param sort to retrieve data by time or popularity   
    widget_search = function() {

        $.ajax({
          dataType: 'jsonp',
          data: 'mydata&callback=?',
          jsonpCallback: 'jsonp_callback',
          url: 'http://myserver.com/search.php',
          success: function () {
          },
        });
    }

// call the getJSON and refresh function
    setTimeout("widget_search()",1000*options.launch);
    var auto_refresh = setInterval( function () { widget_search(); }, 1000*options.refresh);

};

0 Cevap