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元素。