【发布时间】:2016-09-15 16:22:55
【问题描述】:
我有一个 js 函数,可以像这样动态创建导航标签:
function newTab(i) {
for (var x = 0; x<i; x++ ){
var nextTab = $('#tabs li').size() + 1;
// create the tab
$('<li><a href="#tab' + nextTab + '" data-toggle="tab">Tab ' + nextTab + '</a></li>').appendTo('#tabs');
// create the tab content
$('<div class="tab-pane" id="tab' + nextTab + '">tab' + nextTab + ' content</div>').appendTo('.tab-content');
}
};
我从后面的代码中发送i 参数
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim dtAreas As New DataTable
Dim i As Integer
dtAreas = EvaRH.GetAreas
i = dtAreas.Rows.Count - 1
ClientScript.RegisterStartupScript(Page.GetType(), "Tab1", "newTab('" & i & "')", True)
End Sub
这工作正常,但是我想将选项卡名称设置为我在区域数据集上拥有的名称,所以首先我将我的 JS 函数更改为:
function newTab() {
var nextTab = $('#tabs li').size() + 1;
// create the tab
$('<li><a href="#tab' + nextTab + '" data-toggle="tab">Tab ' + nextTab + '</a></li>').appendTo('#tabs');
// create the tab content
$('<div class="tab-pane" id="tab' + nextTab + '">tab' + nextTab + ' content</div>').appendTo('.tab-content');
};
并尝试从后面的代码中在for loop 上创建多次调用此函数的选项卡:
For i = 0 To dtAreas.Rows.Count - 1
ClientScript.RegisterStartupScript(Me.GetType(), "tab" & i.ToString, "newrTab()", True)
Next
但它不起作用,不会给我任何错误,也不会创建任何选项卡。 我试过设置js键值静态,但是没用,也试过这两个:
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "tab" & i.ToString, "newTab()", True)
ScriptManager.RegisterStartupScript(Page, Me.GetType(), "tab" & i.ToString, "newTab()", True)
我也尝试用+ 替换&,但没有成功
【问题讨论】:
-
您的
newTab期望参数i未发送,因此它具有undefined值。 -
@AlexKudryashev 这是第二个函数的类型......对不起
标签: javascript jquery asp.net vb.net