You need to make the handler known, something like this:
The way this works is, the window is loaded and the command jQuery(document).ready(function() {//code}) then calls the function that is given as its argument. That function when run, will find the elements, in this case your english and german buttons, and give them some protocol for when a click event takes place. This is what the bind("event",my_named_handler) function does. The arguments are the "event" which describes the type of event you are waiting for, and the handler is a function which will handle the event. If you assign this as bind("click",function(){//code}) the function remains anonymous and cannot be referenced. When you call unbind("click",my_named_handler) your code will look for handlers that have been linked to your element and remove them. If you have gone about the way of using an anonymous function then you will not be able to reference by any easy method. By defining your handler in a variable you can pass the same handler to both bind and undbind, making the link and unlink take place as the function knows exactly what handler you are referencing in both cases.
The bind("event",handler) is a function which links an element to a listener for an event, and
var german_handler = function() {
// do german clicky stuff
};
var english_handler = function() {
// do english clicky stuff
};
jQuery(document).ready(function() {
$('#German').bind("click",german_handler);
$('#German').bind("click",function() {
$('#German').unbind("click",german_handler);
});
$('#English').bind("click",english_handler);
$('#English').bind("click",function() {
$('#German').bind("click",german_handler);
});
});
Also, it is better to use #German instead of a#German, id tags should usually be unique.
#Germaninstead ofa#Germanbindcall is missing the second argument, the event handler function. Also, you should useonandoff, asbindandunbindare obsolete.aelement seems like it wouldn't work