我有这个jquery函数:
<script>
function tabSelected() {
//alert('tab.');
$('.nav-tabs li:eq(3) a').tab('show');
};
</script>
从后面的代码中调用此函数:
ScriptManager.RegisterClientScriptBlock(this, typeof(string), "script", "tabSelected()", true);
或:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "tabSelected()", true);
没有一个有用。应该在c#方法“ValidateData”中调用jquery:
private bool ValidateData()
{
try
{
if (ddlStatusOp.SelectedIndex <= 0)
{
ScriptManager.RegisterClientScriptBlock(this, typeof(string), "script", "tabSelected()", true);
throw new Exception("'Status' must be selected.");
}
return true;
}
catch (Exception ex)
{
throw ex;
}
我在做错了什么?
答案 0 :(得分:0)
<ul class="nav nav-tabs" id="tabContainer">
<li class="active"><a data-toggle="tab" href="#tabMenu1">Menu 1</a></li>
<li><a data-toggle="tab" href="#tabMenu2">Menu 2</a></li>
<li><a data-toggle="tab" href="#tabMenu3">Menu 3</a></li>
<li><a data-toggle="tab" href="#tabMenu4">Menu 4</a></li>
<li><a data-toggle="tab" href="#tabMenu5">Menu 5</a></li>
<li><a data-toggle="tab" href="#tabMenu6">Menu 6</a></li>
<div class="tab-content">
<div id="tabMenu1" class="tab-pane fade in active">
<h2>Menu 1</h2>
</div>
<div id="tabMenu2" class="tab-pane fade">
<h2>Menu 2</h2>
</div>
<div id="tabMenu3" class="tab-pane fade">
<h2>Menu 3</h2>
</div>
<div id="tabMenu4" class="tab-pane fade">
<h2>Menu 4</h2>
</div>
<div id="tabMenu5" class="tab-pane fade">
<h2>Menu 5</h2>
</div>
<div id="tabMenu6" class="tab-pane fade">
<h2>Menu 6</h2>
</div>
是的,警报根本没有开火,但我设法解决了函数调用,问题出在“;” (“分号”)在“tabSelected()”之后的c#行中;以下是正确的:
ScriptManager.RegisterClientScriptBlock(this, typeof(string), "script", "tabSelected();", true);
现在警报正在运行,但是使用jquery选择选项卡不起作用:
$('.nav-tabs li:eq(3) a').tab('show');
感谢任何帮助。
答案 1 :(得分:0)
首先检查你的HTML head 部分中是否有 jQuery 引用:
<script src="https://code.jquery.com/jquery-1.12.4.min.js" ></script>
之后将脚本更改为:
<script>
function tabSelected() {
$(document).ready(function(){
$('.nav-tabs li:eq(3) a').tab('show');
});
};
</script>