2014-03-19 69 views
0

我嘗試了很多,但無法弄清楚。我想通過我的JavaScript函數傳遞數據。 我正在隱藏的字段上保存數據。我想盡快點擊我的按鈕,它會調用JavaScript函數&傳遞我的隱藏字段vlaue。如何在中繼器控制中傳遞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> 

感謝您的幫助。

回答

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 
} 

文檔

  • prev()
  • 這應該工作!

    +1

    感謝的人它的工作原理。 – PrateekSaluja

    +1

    很高興幫助:) –

    0

    得到隱藏字段的自中繼器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 
         } 
        } 
    
    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()); 
    } 
    
    0

    做到像這個 -

    <asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="javascript:Test(document.getElementById('hfsportsmanfeedid').value);" /> 
    
    +0

    它是中繼器項目模板,你不能總是得到相同的ID! –

    相關問題