如何传递一个隐藏的字段值在javascript函数在重复器控制
本文关键字:javascript 函数 控制 字段 何传递 隐藏 一个 | 更新日期: 2023-09-27 17:50:53
我试了很多,但还是没有弄清楚。我想在我的javascript函数上传递数据。我将数据保存在隐藏文件中。我想要的是只要我点击按钮它就会调用javascript函数&传递我的隐藏字段值。
<asp:Repeater ID="rptGallary" runat="server" >
<ItemTemplate>
<asp:HiddenField ID="hfsportsmanfeedid" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"SportsmanFeedId") %>'/>
<asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="Test("How to pass here"));" />
</ItemTemplate>
</asp:Repeater>
谢谢你的帮助。
你只需要将点击过的元素传递给Test
按钮点击
试试下面的代码:
HTML/ASPX标记
<asp:Button ID="btnLike" runat="server" Text="Like"
OnClientClick="Test(this);" />
Javascript function Test(element){
var $btn = $(element) // Gets clicked button
var hiddenBValue = $btn.prev().val(); // Gets hidden element value
}
文档
这应该可以工作!
你可以这样传递,
<asp:HiddenField ID="hfsportsmanfeedid" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"SportsmanFeedId") %>'/>
<asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="Test('<%# DataBinder.Eval(Container.DataItem,'"SportsmanFeedId'") %>'));" />
脚本function Test(value){
alert(value);
}
或者像
一样使用prev()<asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="Test(this));" />
脚本function Test(ths){
alert($(ths).prev().val());
}
这样做-
<asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="javascript:Test(document.getElementById('hfsportsmanfeedid').value);" />
从中继器rptGallary_ItemCommand事件中获取隐藏字段的值并将其传递给java脚本
protected void rptGallary_ItemCommand(object source, RepeaterCommandEventArgs e)
{
//add command name to btnLike button let it bet test here
if (e.CommandName == "test")
{
HiddenField hiddenfield = (HiddenField)e.Item.Parent.Parent.FindControl("hfsportsmanfeedid");
//pass that to javascript
}
}