类似这里添加行的value永远是questionNaireQuestion.option1 , value="${questionNaireQuestion.option1 }"
能否达到这样的效果: value="${questionNaireQuestion.'+(phName)+' }",这样的写法是错误的,改如何写达到如此的效果
function add(){
var val = $('#limit').val();
var lastInput = $('#contain input:last');
var phName = lastInput.attr('placeholder');
phName = phName.replace("选项","");
phName = parseInt(phName,10)+1;
if(parseInt(val,10)>=parseInt(phName,10)){
$('<div class="inputs"><input input type="text" id="option" name="option'+(phName)+'" value="${questionNaireQuestion.option1 }" maxlength="30" style="width: 80% " placeholder="选项'+phName+' " /><span onclick=del(this)>删除</span></div>').insertAfter(lastInput.parent('div'));
}else{
alert('超出了最大项');
}
}
<tr id="tr">
<td class="table_th" >题目选项:
<td width="" id="contain">
<div class='inputs'>
<input type="text" id="option1" name="option1"
maxlength="30" style="width: 80%" placeholder="选项1" value="${questionNaireQuestion.option1 }"/><font
color="red"> *</font></div>
<div class='inputs'><input type="text" id="option2" name="option2"
maxlength="30" style="width: 80%"" placeholder="选项2"value="${questionNaireQuestion.option2 }" /> </div>
<div class='inputs'><input type="text" id="option3" name="option3"
maxlength="30" style="width: 80% " " placeholder="选项3"value="${questionNaireQuestion.option3 }" /><span onclick=del(this)>删除</span></div>
<div class='inputs'><input type="text" id="option4" name="option4"
maxlength="30" style="width: 80% " placeholder="选项4" value="${questionNaireQuestion.option4 }"/><span onclick=del(this)>删除</span></div>
<div><a href="javascript:;" class="addRow" id="addRow" onclick="javascript:add()">+添加选项</a></div>
</td>
</tr>
一个服务器端,一个客户端的,无法直接使用,客户端的数据要提交到服务器端,服务器端获取后输出你要的内容才行
function add() {
var val = $('#limit').val();
var lastInput = $('#contain input:last');
var phName = lastInput.attr('placeholder');
phName = phName.replace("选项", "");
phName = parseInt(phName, 10) + 1;
if (parseInt(val, 10) >= parseInt(phName, 10)) {
var rst = '';
$.ajax({
url: '你的动态页地址',//动态页获取v参数输出需要的内容
data: 'v=' + phName,
async: false,//一定要同步,要不下面的代码放到success里面才行
success: function (d) {
rst = d;///赋值
}
})
$('<div class="inputs"><input input type="text" id="option" name="option' + (phName) + '" value="'+rst+'" maxlength="30" style="width: 80% " placeholder="选项' + phName + ' " /><span onclick=del(this)>删除</span></div>').insertAfter(lastInput.parent('div'));
} else {
alert('超出了最大项');
}
}
这种方式当然不能增加值,因为你这个是纯粹的脚本操作,根本没有触发服务端事件,如果想得到该值,必须写一个服务端的请求,然后触发该请求得到相应的值。比如通过ajax取得该值,然后在success方法中实现add方法,将请求的值再写进去。