Change the navigation ul li based on the clicked country I'm trying to create a very simple jQuery plugin in the object-oriented way. Now, I'm not sure whether the code I produced is correct and efficient OO programming. The plugin's aim is to change the navigation ul  li based on the clicked country.

jsFiddle

// Widget container
(function($) {
// Widget container plugin
    $.fn.myWidget = function () {
        this.each (function () {
            // Vars
            var item = $ (this);

            // Set events
            item.click (function (e) {
                if (e) e.preventDefault ();
                combine_all(item);
            });
        });
    };

    //uk navigation
    var uk_navigation = '&lt;ul&gt;'
        +'&lt;li id="menu-1"&gt;UK stuff&lt;/li&gt;'
        +'&lt;li id="menu-2"&gt;UK phones&lt;/li&gt;'
        +'&lt;/ul&gt;';

    //global navigation
    var global_navigation = '&lt;ul&gt;'
        +'&lt;li id="menu-1"&gt;EU stuff&lt;/li&gt;'
        +'&lt;li id="menu-2"&gt;EU phones&lt;/li&gt;'
        +'&lt;/ul&gt;';

    //italy navigation
    var italy_navigation = '&lt;ul&gt;'
        +'&lt;li id="menu-1"&gt;Italy stuff&lt;/li&gt;'
        +'&lt;li id="menu-2"&gt;Italy phones&lt;/li&gt;'
        +'&lt;/ul&gt;';

    //germany
    var germany_navigation = '&lt;ul&gt;'
        +'&lt;li id="menu-1"&gt;Germany stuff&lt;/li&gt;'
        +'&lt;li id="menu-2"&gt;Germany phones&lt;/li&gt;'
        +'&lt;/ul&gt;';


    this.get_region = function(item){
        my_region = $ (item).attr ('id');
        return my_region;
    };

    this.make_active = function(item){
        item.each(function(){
            item.siblings().removeClass('flag-active');
        });
        item.addClass('flag-active');
    }

    this.update_navigation = function(my_region){
        var old_navigation = $('#navigation').find('ul');
        var new_navigation;
        if(my_region==='europe_flag'){
            new_navigation = global_navigation;
        }else if(my_region==='uk_flag'){
            new_navigation = uk_navigation;
        }else if(my_region==='germany_flag'){
            new_navigation = germany_navigation;
        }else{
            new_navigation = italy_navigation;
        }

        $(old_navigation).hide().html(new_navigation).fadeIn(800);

    };

    this.combine_all = function(item){
        this.get_region (item);
        this.update_navigation(my_region);
        this.make_active(item);
    };


})(jQuery);

// Main
$(function() {
    $('#flags').find('div').myWidget();
});
From a once over:


Using each seems overkill, this works:

$.fn.myWidget = function () {
    this.click( function (e) {
        if (e) {
            e.preventDefault ();
        }
        combine_all(this);
    });
};


This code assigns the same function to all elements in this, the function has this as the clicked element, so that is why you provide to combine_all
JavaScript uses lowerCamelCase so combine_all -> combineAll, also combineAll is not enlightening as function names go
Your code is repetitive to determine the links, for starters you could do something like this:

var country_links = {
  uk     : [ 'UK stuff', 'UK phones' ]
  europe : [ 'EU stuff', 'EU phones' ]
  italy  : [ 'Italy stuff', 'Italy phones' ]
  germany: [ 'Germany stuff', 'Germany phones' ]
};

 this.updateNavigation = function(my_region){
      var oldNavigation = $('#navigation').find('ul'),
          menuItems = country_links[ my_region.split('_')[0] ];
          newNavigation = '&lt;ul&gt;';
       for( var i = 0 ; i &lt; menuItems.length ; i ++ ){
           newNavigation += '&lt;li id="menu-' + (i+1) + '"&gt;' + menuItems[i] + '&lt;/li&gt;';
       }
       newNavigation += '&lt;/ul&gt;'

      $(old_navigation).hide().html(new_navigation).fadeIn(800);
 };


This is not the only approach, but you split data from style, country_links has all the data. updateNavigation knows how to build a list from that. I did not test this code but you should catch my drift.
To finish on the first point, I would just call all three functions on top instead of combineAll