2014-01-30 151 views
0

我想禁用鏈接時,我一個鏈接上點擊,這裏是我的代碼:如何禁用鏈接點擊並啓用其他鏈接?

<a class="cmd-7" href="?cmd=7" style="color:#00F; margin-left:15px; text-decoration:underline">Past 7 Days</a> 
<a class="cmd-14" href="?cmd=14" style="color:#00F; margin-left:15px; text-decoration:underline">Past 14 Days</a> 
<a class="cmd-30" href="?cmd=30" style="color:#00F; margin-left:15px; text-decoration:underline">Past 30 Days</a> 
<a class="cmd-custom" href="?cmd=custom" style="color:#00F; margin-left:15px; text-decoration:underline">Set A Custom Date Range</a> 

這裏是我的javascript代碼:

<script type="text/javascript"> 
jQuery(function($){ 
// Get the cmd query parameter 
var cmd = getParameterByName('cmd'); 
if(cmd) { 
// Disable the link 
$('a.cmd-' + cmd).click(function(event) { 
    event.preventDefault(); 
}) 
// Add a class to allow styling 
.addClass('disabled'); 
} 
}); 
</script> 

提示錯誤

的ReferenceError:getParameterByName未定義

如何清除此錯誤?

我想要當我點擊過去7天鏈接此鏈接已禁用或啓用鏈接,儘快如果我點擊過去14天的鏈接,過去7天鏈接已啓用和過去14天鏈接被禁用。做這個?

+0

有與日無功能是('getParameterByName')名稱 – k102

+0

看到我的代碼中存在這個函數 –

+0

你想使用'getElementsByTagName','getElementsByClassName'或'getElementById'嗎? – Anonymous

回答

0

嘗試:

<script type="text/javascript"> 
//var prevClicked; 
jQuery(function($){ 
// Disable the link 
$("a[class*='cmd']").click(function(event) { 
    event.preventDefault(); 

    if(typeof prevClicked!='undefined'){ $("a[class*='cmd-"+prevClicked+"']").attr('href','?cmd='+prevClicked);} 

    url = $(this).attr('href'); 
    prevClicked = url.split('=')[1]; 
    $(this).attr('href',"javascript:;"); 
    $(this).addClass('disabled'); //adding 'disabled' to the clicked <a> tag 
    $("a[class*='cmd']").not(this).removeClass('disabled'); //removing 'disabled' from all <a> tags except the one clicked 
}); 
// Add a class to allow styling 

}); 
</script> 
+0

我用你的代碼,但它使所有鏈接都禁用 –

+0

你確定嗎?這是一個[小提琴](http://jsfiddle.net/Th2Xg/) –

+0

,但你看到當我點擊它不移動網址只是禁用 –

-1

您可以添加普通類的所有鏈接,這樣就可以首先啓用的所有鏈接,然後禁用當前的鏈接「這個」爲你準備的參考

篩選功能

假設你的通用類是「CMD-常見的」

$(document).on('click', '.cmd-common', function(event) { 
    event.preventDefault(); 
    $('.cmd-common').attr('disabled',false); 
    $(this).attr("disabled", true); 
}); 
+0

當我使用你的代碼,它給了我錯誤TypeError:$(...)爲空 \t $('。cmd-common')。attr('disabled',false); –

+0

您是否在所有鏈接上添加了該公共類? –

+0

是的,我在所有鏈接上添加普通班級 –