情况
我正在开发一个有多个标签的程序。
但是,除非保存并返回ID,否则用户无法进入其他选项卡。因此,在我的document.ready
上,我有以下代码应该从选项卡中除去tab属性。
function DisableTabs() {
alert('1');
if ($("#applicationID").val() == null || $("#applicationID").val().toString().length <= 0 || parseInt($("#applicationID").val()) <= 0) {
$("#dvAttach").removeAttr('data-toggle', 'tab');
$("#dvAttach").removeAttr('onclick')
$("#dvAttach").attr('onclick', 'ValidateTabs();');
alert('2');
}
alert('3');
}
我正在我的文档中调用此函数。就绪,警报都显示出来,这是选项卡的代码。
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" href="#dvInfo" role="tab" data-toggle="tab">Application Information</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#dvAttach" role="tab" data-toggle="tab" onclick="GetFiles()">Attachments</a>
</li>
</ul>
问题
正如我在标题中提到的那样,即使applicationID没有值,我也可以单击选项卡。当我加载页面并检查选项卡时,仍然看到它具有data-toggle
属性。
如果能提供帮助,将不胜感激。
答案 0 :(得分:1)
在这里,在您的JavaScript代码的第4行和第5行中,您尝试选择ID为dvAttach的元素(使用“ #dvAttach”),但没有ID为dvAttach的元素。将id =“ dvAttach”添加到要删除属性的元素中!
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" href="#dvInfo" role="tab" data-toggle="tab">Application Information</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#dvAttach" id="dvAttach" role="tab" data-toggle="tab" onclick="GetFiles()">Attachments</a>
</li>
</ul>