在jquery的隐藏文本字段中传递变量值
嘿,伙计们,我想将变量pid值传递给隐藏的文本字段pid,但无法这样做 HTML代码:在jquery的隐藏文本字段中传递变量值,jquery,Jquery,嘿,伙计们,我想将变量pid值传递给隐藏的文本字段pid,但无法这样做 HTML代码: <div id="overlay_forma"> <h4>Another popup</h4> <input id="addElement" type="button" value="Add to Form" /> <input id="removeElement" type="button" value="Remove" /> <form
<div id="overlay_forma">
<h4>Another popup</h4>
<input id="addElement" type="button" value="Add to Form" />
<input id="removeElement" type="button" value="Remove" />
<form id="samplecode" name="samplecode" method="POST" action="<%= request.getContextPath() %>/AddProjectTaskDAO">
<fieldset>
<legend><b> Dynamically added form elements </b></legend>
<div id="generatedForm">
<div>
<input id="processForm" type="submit" value="Submit to Process" />
</div>
</div>
</fieldset>
</form>
<center><a href="#" id="closea" >Close</a></center>
</div>
另一个弹出窗口
动态添加的表单元素
jQuery代码:
var counter = 1;
$("#addElement").click(function(event){
var pid=$('#addElement').data('pid');
var pname=$('#addElement').data('pname');
if(counter>10){
alert("Only 10 textboxes allow");
return false;
}
var $newDiv = $(document.createElement('div'))
.attr("id", 'TextBoxDiv' + counter);
var $newInput = $("<label>Input Box: </label>" + "<input type='hidden' id='pid' name='pid' value='pid'>" + "<select name='uname'><c:forEach items='${ual}' var='u'><option value='<c:out value='${u.uname}'></c:out>'><c:out value='${u.uname}'></c:out></option></c:forEach></select>" + "<textarea rows='5' cols='15'></textarea>" + "<input type='text'>");
$newInput
.attr("name", "$('#addElement').data('pid')" + counter)
.addClass("text")
.attr("name", "uname" + counter)
.addClass("text")
.attr("name", "ptdesc_emp" + counter)
.addClass("text")
.attr("name", "ptestd_time_alloc" + counter)
.addClass("text");
$newInput.appendTo($newDiv);
$newDiv.appendTo($("#generatedForm"));
counter++;
});
var计数器=1;
$(“#添加元素”)。单击(函数(事件){
变量pid=$('#addElement')。数据('pid');
var pname=$('#addElement')。数据('pname');
如果(计数器>10){
警报(“仅允许10个文本框”);
返回false;
}
var$newDiv=$(document.createElement('div'))
.attr(“id”,“TextBoxDiv”+计数器);
var$newInput=$(“输入框:“+”+”+”);
$newInput
.attr(“名称”、“美元”(“#addElement”).data('pid')”+计数器)
.addClass(“文本”)
.attr(“名称”、“uname”+计数器)
.addClass(“文本”)
.attr(“名称”、“ptdesc_emp”+计数器)
.addClass(“文本”)
.attr(“名称”、“时间分配”+计数器)
.addClass(“文本”);
$newInput.appendTo($newDiv);
$newDiv.appendTo($(“#generatedForm”);
计数器++;
});
我还尝试在隐藏文本字段的val中添加$('#addElement').data('pid'),而不是pid,但仍然无法显示pid的输出
非常感谢您的帮助。使用'“+pid+”
-pid是可变的
<input type='hidden' id='pid' name='pid' value='"+pid+"'>
而不是
<input type='hidden' id='pid' name='pid' value='pid'>
替换为该行
var $newInput = $("<label>Input Box: </label>" + "<input type='hidden' id='pid' name='pid' value='"+pid+"'>" + "<select name='uname'><c:forEach items='${ual}' var='u'><option value='<c:out value='${u.uname}'></c:out>'><c:out value='${u.uname}'></c:out></option></c:forEach></select>" + "<textarea rows='5' cols='15'></textarea>" + "<input type='text'>");
var$newInput=$(“输入框:“+”+”);
注意: 在您试图追加的代码中,
id='pid'
对于每个追加事件都保持不变。这将导致重复的ID
Ehsan Sajjad更新为html代码Shaunakde I将pid替换为“+pid+”,它仍然无法在小提琴中工作。检查控制台中的隐藏元素:
$('#pid').val()
是的,谢谢。我在这里对.attr(“name”)、“$”(“#addElement”)、data('pid')“+计数器)和“+pid+”进行了更改