如何获得jquery克隆文本框的价值?

时间:2011-12-06 15:21:09

标签: jquery textbox get clone

我正在创建一个有多个答案的调查问题。

有一个button来克隆现有的textbox。 但是,如何获得克隆textbox的值,特别是来自代码隐藏。

这是我的代码:

 function generateRow() {
        if (totalans == 9) {
            $('#<%= label2.ClientID %>').html('<b>Maximum of 10 answers per questions reached</b>');
        }
        else {
            $("#ans").clone().prependTo("#ans2");
            totalans = totalans + 1;
        }

// #ans是一个部门。

是的,请有人帮助我。 我试着去拿它。

// c#代码隐藏

String bla = tb_ans.ToString(); String[] splitAnswer = bla.Split(','); int a = splitAnswer.Length;

// tb_ans是我的文本框ID。

我尝试使用数组,但似乎只有在转储其他数据时才使用第一个textbox值。

4 个答案:

答案 0 :(得分:0)

这里有两个选项可以立即弹出:

选项一:代替克隆,生成服务器端然后隐藏直到需要 - 更改显示以在需要时显示它们。

选项二:通过ajax将文本框克隆的值发送到服务器。

就个人而言,我会选择第二种方式,因为你可以克隆几乎无限数量的盒子,然后将值发送到服务器来处理 - 从你的代码中你可以使用它。

答案 1 :(得分:0)

当您提交任何表单时,元素值将根据dom中的名称发布,因此当您克隆文本框时,如果您想要服务器端的所有文本框值,则应更改名称并提供唯一名称。

答案 2 :(得分:0)

您需要在克隆上设置唯一ID,然后您可以通过javascript访问它。如果您还希望将其作为表单的一部分唯一地提交给您的服务器,那么也可以在其上设置唯一的名称。

$("#ans").clone().attr({id: "ansClone2", name: "ansClone2"}).prependTo("#ans2");

答案 3 :(得分:0)

在查看您的评论后,我修改了我的答案:

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.
    }