我尝试了很多,但无法弄明白。我想在我的javascript函数上传递数据。 我正在保存隐藏文件的数据。我想要的只要我点击我的按钮就会调用javascript function&通过我隐藏的田野。
<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>
感谢您的帮助。
答案 0 :(得分:2)
您只需要点击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
}
<强>文档强>
这应该有效!
答案 1 :(得分:0)
从repeater 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
}
}
答案 2 :(得分:0)
你可以传递它,
<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\") %>'));" />
<强> SCRIPT 强>
function Test(value){
alert(value);
}
或者使用prev()之类的,
<asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="Test(this));" />
<强> SCRIPT 强>
function Test(ths){
alert($(ths).prev().val());
}
答案 3 :(得分:0)
这样做 -
<asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="javascript:Test(document.getElementById('hfsportsmanfeedid').value);" />