Javascript 迭代jstl标记中的隐藏值

Javascript 迭代jstl标记中的隐藏值,javascript,jsp,jstl,Javascript,Jsp,Jstl,我使用Ajax调用来设置一个隐藏值,然后我需要迭代它以形成一个表 值在隐藏值中设置,但我无法使用jstl标记形成表 隐藏字段: <input type="hidden" name="hiddenResult" id="hiddenResult" /> 表体: <tbody> <c:set var="searchresult" value="${hiddenResult}"></c:set> <c:forE

我使用Ajax调用来设置一个隐藏值,然后我需要迭代它以形成一个表

值在隐藏值中设置,但我无法使用jstl标记形成表

隐藏字段:

<input type="hidden" name="hiddenResult" id="hiddenResult" />

表体:

<tbody>
        <c:set var="searchresult" value="${hiddenResult}"></c:set>
        <c:forEach items="${searchresult}" var="searchresult" varStatus="loop">
            <tr>
                <td>${searchresult.schoolName}</td>
                <td>${searchresult.districtName}</td>
                <td>${searchresult.ltiKey}</td>
                <td>${searchresult.ltiSecret}</td>
                <td>
                    <input type="checkbox" name="selectedLtiKeys" id="selectedLtiKeys${loop.index}" style="display: none;" value="${searchresult.ltiKey}"> 
                    <c:if test="${searchresult.status == 'Active'}">
                        <img id="activate${loop.index}" src="../image/activate_button.png"
                                                    onclick="selectedLtiKeys${loop.index}.checked = (!selectedLtiKeys${loop.index}.checked); javascript:toggleImage(${loop.index},false);">
                        <img id="inactivate${loop.index}" style="display: none;" src="../image/inactivate_button.png"
                                                    onclick="selectedLtiKeys${loop.index}.checked = (!selectedLtiKeys${loop.index}.checked); javascript:toggleImage(${loop.index},true);">
                    </c:if> 
                    <c:if test="${searchresult.status == 'InActive'}">
                        <img id="inactivate${loop.index}" src="../image/inactivate_button.png"
                                                        onclick="selectedLtiKeys${loop.index}.checked = (!selectedLtiKeys${loop.index}.checked); javascript:toggleImage(${loop.index},true);">
                        <img id="activate${loop.index}" src="../image/activate_button.png" style="display: none;"
                                                onclick="selectedLtiKeys${loop.index}.checked = (!selectedLtiKeys${loop.index}.checked); javascript:toggleImage(${loop.index},false);">

                    </c:if>
                </td>
            </tr>
        </c:forEach>
</tbody>

${searchresult.schoolName}
${searchresult.districtName}
${searchresult.ltiKey}
${searchresult.ltiSecret}

我不知道任何响应类定义。因此,我要告诉您的是,如何通过
ajax
call更新您的表。 假设在加载表格后如下所示:

<table summary="search result" id="data-table" class="search-result" cellspacing="0" style="">
    <thead>
        <tr>
            <th scope="" class="" id="">id</th>
            <th scope="" class="" id="">name</th>
            <th scope="" class="" id="">email</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>some name</td>
            <td>some@some.com</td>
        </tr>
    </tbody>
</table>

身份证件
名称
电子邮件
1.
某个名字
some@some.com
现在,通过下面的代码片段进行ajax调用并更新表

function updateData() {

    var obj = $("#data-table tr");

    $.ajax({
        type: 'GET',
        dataType: 'json',
        url: 'updateData.html',
        data: '', // what you want to sent
        success: function(responseData,textStatus) {
            if (textStatus == 'success' && responseData.length > 0) {
                $('#data-table tbody').html('');

                var row = '';
                for(var i = 0; i< responseData.length;i++){

                var id = responseData[i].id;
                var name = responseData[i].name;
                var email = responseData[i].email;
                // Now prepare the data for the table
                row += '<tr>'+'<td>'+id+'</td>'+'<td>'+name+'</td>'+'<td>'+email+'</td></tr>';

            }
            $('#data-table tbody').html(row);   

            }
        }, error: function(responseData) {
            // show your error message
        }
    });

}
函数updateData(){
var obj=$(“#数据表tr”);
$.ajax({
键入:“GET”,
数据类型:“json”,
url:'updateData.html',
数据:“”,//要发送的内容
成功:功能(响应数据、文本状态){
如果(textStatus='success'&&responseData.length>0){
$('#数据表tbody').html('');
var行=“”;
对于(变量i=0;i

我不知道任何响应类的定义。因此,我要告诉您的是,如何通过
ajax
call更新您的表。 假设在加载表格后如下所示:

<table summary="search result" id="data-table" class="search-result" cellspacing="0" style="">
    <thead>
        <tr>
            <th scope="" class="" id="">id</th>
            <th scope="" class="" id="">name</th>
            <th scope="" class="" id="">email</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>some name</td>
            <td>some@some.com</td>
        </tr>
    </tbody>
</table>

身份证件
名称
电子邮件
1.
某个名字
some@some.com
现在,通过下面的代码片段进行ajax调用并更新表

function updateData() {

    var obj = $("#data-table tr");

    $.ajax({
        type: 'GET',
        dataType: 'json',
        url: 'updateData.html',
        data: '', // what you want to sent
        success: function(responseData,textStatus) {
            if (textStatus == 'success' && responseData.length > 0) {
                $('#data-table tbody').html('');

                var row = '';
                for(var i = 0; i< responseData.length;i++){

                var id = responseData[i].id;
                var name = responseData[i].name;
                var email = responseData[i].email;
                // Now prepare the data for the table
                row += '<tr>'+'<td>'+id+'</td>'+'<td>'+name+'</td>'+'<td>'+email+'</td></tr>';

            }
            $('#data-table tbody').html(row);   

            }
        }, error: function(responseData) {
            // show your error message
        }
    });

}
函数updateData(){
var obj=$(“#数据表tr”);
$.ajax({
键入:“GET”,
数据类型:“json”,
url:'updateData.html',
数据:“”,//要发送的内容
成功:功能(响应数据、文本状态){
如果(textStatus='success'&&responseData.length>0){
$('#数据表tbody').html('');
var行=“”;
对于(变量i=0;i

那么您想使用ajax调用更新整个表数据,是吗?是的,整个表将由ajax调用填充。请参见答案。现在您获得了对问题答案的投票特权。;)因此,您希望使用ajax调用更新整个表数据,不是吗?是的,整个表将由ajax调用填充。请参见答案。现在您获得了对问题答案的投票权。;)这很有帮助,但每次都会覆盖该行,最后只添加一行,而在填充之前忘记清空表。使用
$('#数据表tbody').html('')循环之前。查看我的更新。让我知道这是否有效。这也不起作用。我删除了for循环中的jquery,并添加了一行,如var row=''+id+''+name+''+email+''$('#keyList tbody')。append(row);它起作用了:)这很有帮助,但每次都会覆盖该行,最后只添加一行。在填充之前,我忘了清空表。使用
$('#数据表tbody').html('')循环之前。查看我的更新。让我知道这是否有效。这也不起作用。我删除了for循环中的jquery,并添加了一行,如var row=''+id+''+name+''+email+''$('#keyList tbody')。append(row);成功了:)