Java 如何在jquery中为动态创建的div?设置name属性

Java 如何在jquery中为动态创建的div?设置name属性,java,javascript,jquery,jsp,Java,Javascript,Jquery,Jsp,每当单击“添加更多”按钮时,我都会动态创建一个div。这是我创建我的div的方式,如下所示: <div id="row-template"> <div class="cell" > <input type="text" value="" class="part-number"/> </div> </div> 现在我想为这个div设置name属性: 我将创建多

每当单击“添加更多”按钮时,我都会动态创建一个
div
。这是我创建我的
div
的方式,如下所示:

     <div id="row-template">
        <div class="cell" >
          <input type="text" value="" class="part-number"/>
        </div>
     </div>

现在我想为这个
div
设置name属性:

我将创建多个
div
s,并希望使用
request.getParameter(“零件号文本框名称”)在java中获取整个值

我的问题是我的java变量是
null
String Part Number=request.get参数(“Part Number文本框名称”)

它给了我空值,因为我无法设置这个文本框的name属性,我必须使用index设置唯一的名称,然后在java中使用index很容易获得

我想解决的问题是:

  • 我想在索引的帮助下,通过
    request.getParameter(…)
    将整个文本框的值保存到java中
  • 我想得到我所有行的长度,我创建了多少个
    div

  • 请帮助我解决这些问题…提前感谢

    我不知道如何动态附加div,但在jquery中它将如下所示:

    var count = 0;
    $("MyAddButton").click(function () {
         var html = "";
         html += '<div id="row-template">';
        //put the name you want here
         html += '<div class="cell" name="myName" ><input type="text" value="" class="part-number"/</div>'
         html += '</div>';
         $("WhereToAppend").append(html)
         count++;
    });
    
    var计数=0;
    $(“MyAddButton”)。单击(函数(){
    var html=“”;
    html+='';
    //把你想要的名字写在这里
    
    html+='我可能没有一个完整的答案给你,但希望这将引导你走向正确的方向

    (一) 如果您的页面是这样调用的:

    http://:/mytest.jsp?crazyParamName=crazyParamAnswer

    您可以使用:

    String answer=request.getParameter('crazyParamName');

    变量
    answer
    将是一个
    String
    ,其值为:
    crazyParamAnswer

    使用它来创建新的输入,方法是将它插入带有如下脚本的页面

    2) 当您单击“添加更多”按钮时,您可以计算您创建了多少个div(我假设使用jQuery)

    var numberOfCells=$(“#行模板”).find(“.cell”).size();


    因此,当您创建一个新按钮时,只需将一个按钮添加到现有的
    numberOfCells
    中,并将其用作索引。每次单击按钮时,索引都会增加一个。

    您是否尝试过将name属性添加到输入元素而不是div元素

    借用前面的答案:

    var cnt = 0;
        $("#mybutton").on("click", function () {
             var html = "";
             html += "<div id='row-template'>";
             html += "<div class='cell'>";
            html += "<input name='myName" + cnt +"' type='text' value='' class='part-number'/>";
          html += "</div>";
             html += "</div>";
            console.log(html);
             $("#WhereToAppend").append(html);
             cnt++;
        });
    
    var cnt=0;
    $(“#我的按钮”)。在(“单击”上,函数(){
    var html=“”;
    html+=“”;
    html+=“”;
    html+=“”;
    html+=“”;
    html+=“”;
    log(html);
    $(“#WhereToAppend”).append(html);
    cnt++;
    });
    
    上面的代码是jquery代码,它将向DOM添加一个新的输入(以及周围的div)元素。它将通过将“cnt”的值附加到字符串“myName”来为每个输入元素提供一个唯一的名称,实际上每次触发这个特定的点击事件时,都会为输入元素提供一个名称“myName0”、“myName1”、“myName2”

    根据输入元素的定义:

    name属性指定元素的名称。 name属性用于引用JavaScript中的元素,或在提交表单后引用表单数据。
    注意:提交表单时,只有具有名称属性的表单元素才会传递其值。

    right@Mathieu Labrie Parent我为该div id设置了属性名称,但我无法在jave上获得该名称,因为在使用req.getParameter时,它会给出null值,因此如何克服此问题?…我认为getParameter正在查询字符串中查找。当您提交表单时,div不会在查询字符串中通过,只能输入。您可以将该值放入hiddenfield中。如果直接放入like(),则@Mathieu Labrie Parent该值将进入req.getParam,但如果使用当前索引值设置名称属性,则不会将该值设置为“null”…请看,我想获得多个创建的div值,因此我选择了name参数,通过索引值的唯一名称帮助获得java的所有值..因此,您能否为我提供任何解决方案,使用req.getParam将多个创建的div文本框值获得java的值..如果每个输入元素都有name属性,它们将显示在post参数中s、 您使用的是java还是.net并不重要。您需要每个输入元素都有name属性,而不是DIV元素。