Binding click event through elements
You are right, the code could be tigher


This

var action = "";
if  {
    action = "expand";
}
else {
    action = "expandheatmap";
}


could be reduced with a ternary operation to:

var action = (activeTab.toLowerCase() == 'table') ? 'expand' : 'expandheatmap`;


Since you repeat this in every handle, you should consider building a function for this, in case the logic ever changes.
I am a bit confused by your code, you seem to build the href, get the href, modify that string and then set the href again ? Why ? The following should work in my mind ( I took the last click handler ) :

$(".gridoptions-anchor").click(function (e) {
    var href = "/home/xx/Index" + "/?columnchooser=1"
    var action = (activeTab.toLowerCase() == 'table') ? 'expand' : 'expandheatmap`;
    $(this).attr("href", href  + "&amp;from=" +action + "&amp;expand=" + Expand + "");
});

This brings me to my next point; activeTab, action, and Expand are not defined with var in this code
Finally you could consider a dedicated URL building function to have the string concatenation in one place:

function buildURL( href, action, expand, addTabActive )
{
  var tabActiveParameter = addTabActive ? ( '&amp;tabactive=' + action ) : '';
  return href + "&amp;from=" + action + "&amp;expand=" + expand + tabActiveParameter;
}

Which brings me to my last point if tabactive shows the action, then activetab would be a better name.