javascript - 当 Accordion SelectedIndexChanged 时从动态创建的 Accordion 面板获取 Pane.ID
问题描述
我已经在这几天没有成功。我有一个动态创建的手风琴面板。手风琴面板中的一项是窗格。该窗格给出了数据库中正在填充折叠式窗格中的记录的 ID。例如,如果我为 50 个州中的每一个州创建一个手风琴,paneID 将代表州的准入顺序(即特拉华州,Pane.ID = "Pane_1",新泽西州,Pane.ID = "Pane_3",夏威夷, Pane.ID = "Pane_50" 等)
当用户选择 Accordion 时,我需要能够提取窗格的 ID。我已将以下脚本添加到绑定手风琴的 selectedIndexChange 事件的页面中:
function pageLoad() {
$find('<%= Accordion1.ClientID %>_AccordionExtender').add_selectedIndexChanged(
accordion_selectedIndexChanged);
};
function accordion_selectedIndexChanged(sender, args) {
var sinx = sender.get_SelectedIndex();
alert(sinx);
}
这是因为当我选择 Accordion 窗格时它会触发。从现在开始,我不知道如何在手风琴_selectedIndexChanged 函数中获取 Pane.ID。
解决方案
首先我要感谢@zgood。虽然我没有在方法中找到我想要的东西,但这是我没有找到的。我发现我看不到窗格 ID,但我可以看到标题 ID。使用以下链接中的信息,我能够开发一个解决方案:
Pass Javascript Variables value to C#
Accordion Selected Index Change Content
How to Catch Accordion Pane Select Event
以下是一般步骤:
- 创建了一个隐藏字段
- 创建了一个隐藏按钮
- 捕捉手风琴变化
- 将选定的索引传递到隐藏字段中,然后调用隐藏按钮单击事件
- 在后面的代码中查找了 headercontainer ID。
这是aspx代码:
function pageLoad() {
$find('<%= Accordion1.ClientID %>_AccordionExtender').add_selectedIndexChanged(accordion_selectedIndexChanged);
};
function accordion_selectedIndexChanged(sender, args) {
var control_clientId;
var sinx = sender.get_SelectedIndex();
if (sinx > -1) {
var hdnfldVariable = document.getElementById('<%=hdnfldVariable.ClientID %>');
hdnfldVariable.value = sinx;
document.getElementById('LogEntry').click();
}
}
<asp:HiddenField ID="hdnfldVariable" runat="server" />
<asp:Button ID="LogEntry" runat="server" ClientIDMode="Static" OnClick="LogEntry_Click" />
这是背后的代码:
protected void LogEntry_Click(object sender, EventArgs e)
{
if (hdnfldVariable.Value != "")
{
int i = int.Parse(hdnfldVariable.Value);
string id = Accordion1.Panes[i].HeaderContainer.ID;
//Do Something here
}
}
推荐阅读
- laravel - Laravel + Mongo(Jessenger) 无法创建 SSL 客户端。此版本中未启用 SSL
- python - 我的代码中出现错误的原因是什么?
- authorization - 如何修复 google oauth 授权请求响应 400(Oauth 错误)!1
- vue.js - 覆盖 vue.config.js 中的 saas 变量时重复自定义 scss 代码的问题
- python - csr_matrix.A 是什么?
- sapui5 - 有没有办法在 Worklist fiori 应用程序中自定义 SmartTable 中的变体管理?
- java - Solr 抛出异常,表明集合名称丢失,尽管在云模式下与请求一起发送
- javascript - 如何根据 geojson 信息过滤 Mapbox 上的标记?
- c# - HttpContext 不包含 Current 的定义
- mongodb - 根据条件组合两个字段