在克隆的jquery文本框值后面的代码中存储值

时间:2011-12-07 07:45:27

标签: c# jquery textbox

我有一个克隆文本框的按钮,允许用户输入

jquery的

function generateRow() {
if (totalans == 9) {
    $('#<%= label2.ClientID %>').html('<b>Maximum of 10 answers per questions reached</b>');
}
else {
    totalans = totalans + 1; // same as totalans++;
     $("#ans").clone().attr({id: "ans_clone_" + totalans, name: "ans_clone_" + totalans}).prependTo("#ans2");
     // then you can loop through each input using the totalans variable.
}

现在,我不知道如何在codebehind c#中检索这些文本框。 因为我想将它存储在数据库中。

我得到了一些人的帮助,但它仍然无法帮助我。

for(x=0; x<totalans; x++){ var tVal = $('#ans_clone_' + x).val(); //process }

即时通讯使用vs2010,DotNet。

2 个答案:

答案 0 :(得分:0)

HiddenField服务器控件添加到页面上,并使用它来存储动态添加的文本框的计数。然后,在post post上解析它的值并从Request.Params集合中获取动态添加的文本框值:

function addAnswer() {
     var hfAnswers = $("#<%= hfDynamicAnswers.ClientID %>");
     var answers = parseInt(hfAnswers.val()) + 1;
     hfAnswers.val(answers);

     $("#<%= tbAnswer.ClientID %>").clone().attr({ name: "ans_clone_" + answers, id: "ans_clone_" + answers }).appendTo("#answersContainer");
}

<asp:HiddenField runat="server" ID="hfDynamicAnswers" Value="0" />
<div id="answersContainer">
     <asp:TextBox runat="server" ID="tbAnswer" />
     <input type="button" value="Add Answer" onclick="addAnswer()" />
</div>
<asp:Button runat="server" ID="btnSubmit" Text="Submit" OnClick="btnSubmit_Click" />

代码隐藏:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    var answers = int.Parse(hfDynamicAnswers.Value);
    for (int i = 1; i <= answers; i++)
    {
        var answer = Request.Params["ans_clone_" + i.ToString()];
    }
}

答案 1 :(得分:0)

ASP.NET会在您发布回来时自动为您自动序列化所有控件。只要确保他们有独特的ID。

Request.Form["ans_clone_" + i]