Javascript struts2选项TransferSelect从数据库检索和显示值
在jsp页面中,我有一个用于在左侧和右侧之间交换值的Javascript struts2选项TransferSelect从数据库检索和显示值,javascript,java,jquery,jsp,struts2,Javascript,Java,Jquery,Jsp,Struts2,在jsp页面中,我有一个用于在左侧和右侧之间交换值的,还有一个要保存的提交按钮 我运行程序,它实际上可以保存右边的值。但是,它不会在此处显示保存的值 我正在考虑使用javascript并在中使用onchange事件来实现这一点 <script> function show(){ const list = document.getElementById("selectedValues"); for (var i = 0;
,还有一个要保存的提交按钮
我运行程序,它实际上可以保存右边的值。但是,它不会在此处显示保存的值
我正在考虑使用javascript并在
中使用onchange
事件来实现这一点
<script>
function show(){
const list = document.getElementById("selectedValues");
for (var i = 0; i < list.options.length; i++) {
//seems something not correct in this part but I am not sure how solve in this way
list.options[i].selected = true;
}
return true;
}
</script>
<s:optiontransferselect
allowUpDownOnLeft="false"
allowUpDownOnRight="false"
allowSelectAll="false"
allowAddAllToLeft="false"
allowAddAllToRight="false"
addToRightLabel="Go to right"
addToLeftLabel="Go to left"
leftTitle="Left side values"
headerKey="0"
name="option"
list= "optionList"
rightTitle="Right side values"
doubleHeaderKey="0"
doubleList="selectedOptionList"
doubleName="selectOption"
doubleId="selectedValues"
onchange ="show()" <!-- onchange seems not work here -->
>
</s:optiontransferselect>
在数据库中,我可以看到保存的值,因此我想知道如何让选项TransferSelect
显示保存的值
另一次更新
在提交之前,我尝试使用一个按钮调用javascript函数来显示selectedvalue
函数testshow(){
var value=document.getElementById(“selectedValues”);
对于(var i=0;i我认为有两件事你需要知道才能解决你的问题:
Struts操作的生命周期
选项TransferSelect
的实际工作方式
Struts操作的生命周期
我从这开始,因为这可能已经解决了你的问题
一个是字符串,第二个是列表。?@AleksandrM,两者都是ArrayList()
@AleksandrM,我更新了内容,我想在这里表达我对optiontransferselect
的想法。但是我以前没有使用过它,如果我的想法不正确或无法实现,请告诉我,@AleksandrM,optionList=new ArrayList();
是左侧的optiontransferselect
,它包含供用户选择并移动到右侧的值。selectedOptionList=new ArrayList();
是右边的optiontransferselect
,如果用户从optionList移动,它会显示在这里,并且它可以将值保存到optionList。我的意思是值可以在左边和右边之间交换。提交按钮将保存右边的框值,我尝试在打开jsp页面时让框显示保存的值d您的问题,问题只出现在显示的页面上?在这种情况下,您是否可以提供呈现的HTML/javascript(仅相关部分)PS:一个标记,它只需将值从左向右移动即可提供选择语义(可以命名为selectByTransfer,例如selectByTransfer)似乎不是Struts提供的-至少我没有找到它。答案中的方法使用Struts版本2.5.26、JDK 11和jetty maven插件10.0.3进行了测试。