0

我有两个名为 asclist、desclist 的数组列表,其中包含升序记录和降序记录。在 JSP 中,我可以迭代这两个数组列表值。它工作正常。我的代码如下

List <UserInfo> asclist=new ArrayList<UserInfo>();
asclist=(ArrayList)request.getAttribute("ascend");
if(!asclist.isEmpty())
{
    for(UserInfo info: asclist)
    {
        out.print("<td>"+info.getId()+"</td>");
        out.print("<td>"+info.getName()+"</td>");
        out.print("<td>"+info.getAge()+"</td>");
        out.print("<td>"+info.getSalary()+"</td>");
        out.print("<br>");
    }
   }
    List <UserInfo> desclist=new ArrayList<UserInfo>();
desclist=(ArrayList)request.getAttribute("descend");
if(!desclist.isEmpty())
{
    for(UserInfo info: desclist)
    {
        out.print("<td>"+info.getId()+"</td>");
        out.print("<td>"+info.getName()+"</td>");
        out.print("<td>"+info.getAge()+"</td>");
        out.print("<td>"+info.getSalary()+"</td>");
        out.print("<br>");
    }
   }
%>

我需要的是如何使用具有相同按钮的函数在 javascript 中实现此代码。第一次,通过单击按钮,升序应该可以工作,下次如果我单击按钮,降序应该可以工作。我们怎样才能做到这一点。提前致谢..

我的 JavaScript 代码是

<script>
function Ascend()
{ 
<%
List <UserInfo> alist=new ArrayList<UserInfo>();
alist=(ArrayList)request.getAttribute("ascend");
if(!alist.isEmpty())
{
    for(UserInfo info: alist)
    {
        out.print("<td>"+info.getId()+"</td>");
        out.print("<td>"+info.getName()+"</td>");
        out.print("<td>"+info.getAge()+"</td>");
        out.print("<td>"+info.getSalary()+"</td>");
        out.print("<br>");
    }
    alist.clear();
}
else
{
    out.print("The list is empty");
}
%>

}
</script>
<input type="button" onclick="Ascend()" value="SORT" />   

但它不起作用....

4

1 回答 1

0

您应该尝试在函数中填充一个 javascript 数组(可能是一个数组数组),然后使用它来设置 html 中的值

function Ascend()
{ 
var list = [];
<%
List <UserInfo> alist=new ArrayList<UserInfo>();
alist=(ArrayList)request.getAttribute("ascend");
if(!alist.isEmpty())
{
    for(UserInfo info: alist)
    {
        out.print("list.push([\"" + info.getId() +"\"]);")
    }
    alist.clear();
}
%>
// write javascript code to iterate over 'list' and create html elements on the client side
}
</script>

基本上你需要使用jsp中的代码生成javascript代码

于 2013-03-01T08:54:24.290 回答