首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过javascript设置struts 2的列表?

如何通过javascript设置struts 2的列表?
EN

Stack Overflow用户
提问于 2012-08-21 07:07:55
回答 1查看 1.9K关注 0票数 0

当用户在前面的select元素中进行选择时,我将动态地向select元素中添加选项。我在JSP页面中使用struts-html tag。有人能建议怎么做吗?

让我更具体地说,我需要使用Javascript填充一个struts2 tag(s:select list)

我有三个依赖的动态下拉列表,它们都是从数据库中填充的,所以我使用Ajax+jquery+Struts2通过操作调用查询到数据库,将列表传递给javacript (Ajax+json),在javascript中将s:select标记的列表属性设置为json。

这就是我想的,如果我错了,或者有更好的方法来做,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2012-08-21 10:09:40

一个明确的选项是使用Struts2 双选。你需要做的事情是

代码语言:javascript
复制
<s:doubleselect label="doubleselect test1" name="menu" list="{'fruit','other'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />
<s:doubleselect label="doubleselect test2" name="menu" list="#{'fruit':'Nice Fruits', 'other':'Other Dishes'}" doubleName="dishes" doubleList="top == 'fruit' ? {'apple', 'orange'} : {'monkey', 'chicken'}" />

你可以在这里找到更多的例子

  • /struts-2-sdoubleselect示例

如果您不想使用double select,您可以在Jquery的帮助下使用简单的S2选择标记,我不确定从哪里获取第二个下拉列表的值,如果这是从action类中更好地使用Struts2-JSON插件,它将帮助您以JSON的形式将数据发送回UI,并且您可以始终使用Jquery的JSON解析功能来解析JSON并填充下拉列表。

代码语言:javascript
复制
var formInput='state='+statedata;       
   $.getJSON('search/fillDropDown',formInput,function(data) {
     $("#district  option:first").val("-1").text("Please select a  district");
     $('.result').html('' + data.districts + '');
     $.each(data.districts,function(index, value){
     var districtid = document.getElementById("district");
      var option=new Option(value,value);
         try{
           districtid.add(option);
         }
        catch(e){
        districtid.appendChild(option);
        });
     });

在上面,我将根据第一个下拉列表中选择的值填充另一个下拉列表,并使用JSON插件作为JSON数据从操作中发送回列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12049879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档