通过Jquery获取中继器内部的控件ID
getting control ID inside repeater by Jquery
我有想要评论的条目。所以我创建了一个带有TextBox和里面的按钮。如何通过获取特定行的按钮和文本框的idJquery?
<ASP:REPEATER runat="server">
<ItemTemplate>
...
// Entries: bind data from DB
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" />
</ItemTemplate>
</ASP:REPEATER>
谢谢。
您的大问题是,您的asp中继器控件将生成像这样的ID ct100_repeater_txt1
,这不会帮助您获得与其相应的数据库行相关联的注释
我发现实现这一点的常见方法(我认为这是一种非常标准的方法)是用数据库中的行id分配元素id,或者如果您无法控制id,则创建一个自定义属性。
我使用的伪代码看起来是这样的:(我会尝试使其与语言/平台无关,这样你就可以学习概念,而不是只学习语言)
<repeater template>
<textbox id="txt1" dbid='<% eval database id>'/>
<button id="btn1" dbid='<% eval database id>'/>
</repeater template>
应该生成如下代码:
<input type="textbox" value="" id="ct100_txt1" dbid="14" />
<input type="button value="submit" id="ct100_btn1" dbid="14" />
<input type="textbox" value="" id="ct100_txt2" dbid="12" />
<input type="button value="submit" id="ct100_btn2" dbid="12" />
<input type="textbox" value="" id="ct100_txt3" dbid="39" />
<input type="button value="submit" id="ct100_btn3" dbid="39" />
然后用你想要的任何语言,你都可以从这个属性中读取:
Button.Click{
get attribute dbid of button clicked;
save text of textbox of same dbid to a database;
}
很多欢呼声!希望这对你的有效
编辑
作为对评论"id将dbid保存在哪里?!"的回应,我假设在数据库中:)您应该如何保存它?有很多方法。这里有一个你可以用jquery试试:
创建一个javascript函数来保存接受参数的答案。将dbid绑定到控件时,将其绑定到onclick函数中,并将该id传递给该函数。然后,函数获取dbid匹配的文本,并将注释和id保存到数据库中。
<textbox dbid="14" />
<input onclick="doStuff(14)" />
<script>
function doStuff(var id){
var comment = $('textbox[dbid=id]').value();
ajax(your url and arguments);
};
</script>
如果没有更多信息,这是我能为您提供的最好的:
对于这样的html(这就是asp.net将如何呈现你的按钮/文本框):
<div id="row1"><button type="button">Click Me!</button><input type="text" name="tb_info" /></div>
<div id="row2"><button type="button">Click Me again!</button><input type="text" name="tb_info" /></div>
您可以使用以下jQuery选择button and textbox for specific row
:
$("#row1 > button, #row1 > input")
相关文章:
- 如何从c#代码中获取asp控件id
- 将html控件id从aspx文件传递给javascript
- 将控件Id更改为变量
- 将 .net 按钮控件 ID 传递给 JavaScript 函数
- 通过jQuery查找控件ID,并将其传递给函数以切换它
- 将 ASP.Net 控件 ID 发送到 JavaScript 函数
- 如何访问位于同一文件中 js 中的数据列表中的控件 ID
- 查找 aspx 页和相应的 ascx 用户控件中存在的所有控件和子控件 ID
- 如何使用 java 脚本查找 asp 控件 ID
- 如何在另一个用户控件 ID 中获取用户控件 ID
- 将 GridView 控件 ID 传递给 JavaScript
- 在.js文件中获取.aspx控件ID
- 在外部javascript文件中获取asp控件ID的最佳方式是什么
- 如何使用javascript在用户控件页的父页中获取隐藏控件id
- 如何在克隆行的同时管理表行关联的javascript(控件ID)
- 与控件ID关联的访问服务器控件
- 如何在doPostBack中传递控件id
- 将客户端控件ID和值附加到请求对象…可能
- 如何在ASP.net中为可以使用控件ID调用的用户控件添加JavaScript函数
- 在ASP.net Listview中获取多个控件id的值并将其传递给JavaScript