• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

moving Listbox item from one Listbox to another and swapping back to same position

 
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all I am facing a problem while moving items from one listbox to another
One big problem is here that its text are in parent and child format you can see in attached png.
Here I have no of scenarios to cover which are as follows

1.while moving child text from listbox to another its parent text also move to that listbox.
2.If after moving if that parent item in first listbox contains atleast one item in it it will remain there as well and if it doesnot contain any child in it .it will remove from there and completely shift to second ListBox
3.same is applied to second Listbox but it should goes to back same position.


in my Js and jsp i have use this code

1. its my jsp file

<form:select name="permissions" path="availablepermissions" multiple="true" class="permission-box" size="2" id="first_id" tabindex="4" style="height:150px">

<%
Map<String, List<Map<String,String>>> availablePermissions = (Map<String, List<Map<String,String>>>) request.getAttribute("availablePermissions");
//out.write(availablePermissions.toString());
Set<String> keys = availablePermissions.keySet();
Iterator<String> itr = keys.iterator();
while(itr.hasNext()) {
String key = itr.next();
List<Map<String,String>> permissionList = availablePermissions.get(key);
String codeToDisplay = "user.permission." + key;
%>
<li><a href="#"><form:option id='<%=codeToDisplay %>' value='<%=codeToDisplay %>'><label class="permission1"><spring:message code='<%=codeToDisplay %>'/></label></form:option></li></a>



<div>
<%

Iterator<Map<String, String>> permissionsIterator = permissionList.iterator();
while(permissionsIterator.hasNext()) {
Map<String, String> permission = permissionsIterator.next();
Set<String> permissionKeys = permission.keySet();
Iterator<String> permissionKeyIterator = permissionKeys.iterator();
String permissionKey = "";
while(permissionKeyIterator.hasNext()) {
permissionKey = permissionKeyIterator.next();
}
String permissionValue = permission.get(permissionKey);
%>
 <a href="#"><form:option id='<%=key%>' value='<%=permissionValue %>'><label>     <spring:message code='<%=permissionKey %>'/></label></form:option></a>
<%
}
%>
</div>
<%
}
%>
</ul>
</div>
</div>
</form:select>



<td align="center" valign="middle" style="padding-top:60px;">
<input type="Button" class="greybutton" value=">>" onClick="add(document.getElementById('first_id'),document.getElementById('second_id'))" tabindex="5"><br>
<br>
<input type="Button" class="greybutton" value="<<" onClick="SelectMoveRows(document.getElementById('second_id'),document.getElementById('first_id'))" tabindex="6">
</td>


<td><label class="required"><spring:message code="user.roles.label.selected.permissions"/></label><br />
<form:select name="FeatureCodes" path="permissions" size="9" class="permission-box1" multiple="multiple" id="second_id" tabindex="7" >

</form:select>
</td>

</tr>
</table>

<script language="text/javascript">

function add(LbFrom,LbTo){
//alert(second_id.options[second_id.length-1].value);
alert("Here");
var arrOfGroupParent = new Array();
var arrGroupChild = new Array();
for(i=0; i < LbFrom.options.length; i++){
var idLbFrom = LbFrom.options[i].id;
alert("id"+idLbFrom);
var oldCOId = document.getElementById("idLbFrom");
alert("P" + oldCOId);
var listBox = new Option();


if($("#LbFrom.options[i].id").val() == ""){
arrOfGroupParent[i] = LbFrom.options[i].text;
alert(arrOfGroupParent[i]);

} else if($("#LbFrom.options[i].id").val() != ""){
if(arrOfGroupParent[i] == LbFrom.options[i].id){
arrGroupChild[arrOfGroupParent[i]];
alert(arrGroupChild[arrOfGroupParent[i]]);
}
}
// if(LbFrom.options[i].selected){


// }
}


}

function SelectMoveRows(LbFrom,LbTo)
{
var arrFrom = new Array();
var arrTo = new Array();
var arrLtR = new Array();
var i;
for(i=0; i < LbTo.options.length; i++){
alert("1");
arrLtR[LbTo.options[i].text] = LbTo.options[i].value;
arrTo[i] = LbTo.options[i].text;
}
var fLength = 0;
var tLength = arrTo.length;
for(i = 0; i < LbFrom.options.length; i++) {
//alert("2");
//alert(LbFrom.options[i].id);
// if($("#LbFrom.options[i].id").val() == LbFrom.options[i].id){

// }
arrLtR[LbFrom.options[i].text] = LbFrom.options[i].value;
if (LbFrom.options[i].selected && LbFrom.options[i].value != "") {
alert("3");
arrTo[tLength] = LbFrom.options[i].text;
tLength++;
} else {
//alert("4");
arrFrom[fLength] = LbFrom.options[i].text;
fLength++;
}
}
LbFrom.length = 0;
LbTo.length = 0;
var ii;
for(ii = 0; ii < arrFrom.length; ii++)
{
//alert("5");
//alert(arrFrom[ii]);
//alert(arrLtR[arrFrom[ii]]);
var no = new Option();
no.value = arrLtR[arrFrom[ii]];
no.text = arrFrom[ii];
LbFrom[ii] = no;
}
for(ii = 0; ii < arrTo.length; ii++)
{
alert("6");
var no = new Option();
no.value = arrLtR[arrTo[ii]];
no.text = arrTo[ii];
LbTo[ii] = no;
}
req.png
[Thumbnail for req.png]
 
reply
    Bookmark Topic Watch Topic
  • New Topic