我想在点击链接时禁用链接,这是我的代码:
<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 :(得分: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>
答案 1 :(得分:-1)
您可以向所有链接添加公共类,以便您可以先启用所有链接,然后使用“this”作为参考禁用当前链接
在准备好的功能中使用
假设您的公共类是“cmd-common”
$(document).on('click', '.cmd-common', function(event) {
event.preventDefault();
$('.cmd-common').attr('disabled',false);
$(this).attr("disabled", true);
});