如何用jquery实现,当点击添加行后,行中的value中的EL表达式的值也增加

类似这里添加行的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 }" />&nbsp;</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>

2个回答

一个服务器端,一个客户端的,无法直接使用,客户端的数据要提交到服务器端,服务器端获取后输出你要的内容才行

     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方法,将请求的值再写进去。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问