java - 使用 jQuery 遍历 java 集合

标签 java jquery jsp

我从这个对象开始,

public class myTO {

    private String id;
    private String name;
    }

在这个对象中使用了什么

public myCombiTO {
    private myTO myTO;

    private List<String> valueList;
    private List<String> displayList;
}

我创建了这些对象的列表

List<myCombiTO> myCombiTOList = getMyCombiTOList();

我用这个列表来设置一个jsp页面属性

request.setAttribute("myAttrList", myCombiTOList);

然后转发到jsp页面。然后我使用 jquery 和 jSTL 填充此列表中的下拉列表

<select name="mYSelect" id="mySelect">
     <c:forEach var="myVar" items="${myAttrList}">
          <option value="${myVar.myTO.id}" >
               <c:out value="${myVar.myTO.name}" />
          </option>
    </c:forEach>    
</select>

我的问题是我想使用 jquery 和来自 mycombiTO.getValueList() 的值来填充第二个下拉列表。到目前为止我有这个

$("#mySelect").change(function(){
        var myJSList = ${myAttrList};
        var chosenGroup = $("#mySelect").val();
        var valueArray = myJSList.get(chosenGroup).valueList;
        var displayArray = myJSList.get(chosenGroup).displayList;
        var items = {'display':[displayArray], 'value':[valueArray]};

        //now populate drop downs

        $.populateSelect($('#myselect').get(0), items);

    });

jQuery.populateSelect = function(element,items) {
    $.each(items, function() {
            element.options[element.options.length]  = new Option(this.display,this.value);
          });
};

但是它不起作用,请帮忙。我在基于两个数组创建 javascript 对象时遇到问题。理想情况下,我想使用键/值对从 jquery 引用 java 映射。这可能吗?

提前致谢。

最佳答案

现在您正在传递 items,这是一个只有两个键/值对的对象,因此 $.each() 仅运行两次迭代.对于这些迭代,this.displaythis.value 引用整个数组。

一种选择是简单地将 displayArrayvalueArray 传递给 populateSelect(),然后迭代它们:

jQuery.populateSelect = function(element,displayArray,valueArray) {
    $.each(displayArray, function(i,val) {
        element.options[element.options.length]  = new Option( displayArray[i] ,valueArray[i] );
    });
};

回到你原来的代码,你也可以这样做:

jQuery.populateSelect = function(element,items) {
    $.each(items.display, function(i,val) {
        element.options[element.options.length]  = new Option( items.display[i] ,items.value[i] );
    });
};

关于java - 使用 jQuery 遍历 java 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3179505/

相关文章:

java - JSP 表达式语言在 Apache Tiles 中不起作用

java - Java 是否有按字典顺序排列列表(而不是它们的元素)的函数?

java - 使用 Java 检查重复文件内容

java - 使用 Spring JdbcTemplate 进行多个数据库操作

javascript - AJAX 在 Safari 或 Safari 移动设备中未触发

java - 如何为 NetBeans 设置 Tomcat 管理器应用程序用户名和密码?

java - 处理两个 REST 端点读取相同数据时的延迟问题

javascript - 如何在数据网格中显示由具有属性和值的对象组成的数组?

jquery - 表格行的旋转图标点

java - 我如何更改条纹框架中错误消息的颜色