Jquery实现select左右栏的添加移除

首先是效果展示, 兼容火狐,IE6+,谷歌没测试有

java后台数据准备

     List<JCClass> GroupList = KBTGroup.GetGroupList();
        String userGroup = UserConfig.Get("groupData");
        if(JCUtil.IsEmptyList(GroupList)==false){
            Iterator<JCClass> groupIter = GroupList.iterator();
            while (groupIter.hasNext()) {
                JCClass group = groupIter.next();
                if (userGroup.indexOf(group.Get("Name"))>0)
                    groupIter.remove();
            }
            request.setAttribute("userGroup", userGroup);
        }
        request.setAttribute("GroupList", GroupList);

前台js代码

<script language="javascript"><!--
    $(function(){var groupDatas = $("#groupDatas").val().split(";");
        var selObj = $("#userGroup");
        for(var i=0;i<groupDatas.length-1;i++){
               selObj.append("<option value=‘"+groupDatas[i]+"‘>"+groupDatas[i]+"</option>");
        }
    });

  function getTrueData(selectID){
        var data = "";
        var count = $("#"+selectID+" option").length;
        for(var i=0;i<count;i++){
            data=data+$("#"+selectID).get(0).options[i].text+";";
        }
        return data;
    }
    function dbClickData(e,sourceID,reID){
        var text=$(e).val();
          reverseData(text,sourceID,reID);
    }
    function clickReverseBtn(sourceID,reID){
        var selOpt = $("#"+sourceID+" option:selected");
        var text = $(selOpt).val();
        reverseData(text,sourceID,reID);
    }
    function reverseData(text,sourceID,reID){
        var selOpt = $("#"+sourceID+" option:selected");
            selOpt.remove(); 

            var selObj = $("#"+reID);
           selObj.append("<option value=‘"+text+"‘>"+text+"</option>");
    }
    function clearGroup(){
        var groupDatas = getTrueData(‘userGroup‘).split(";");
        var selObj = $("#groupList");
        for(var i=0;i<groupDatas.length-1;i++){
               selObj.append("<option value=‘"+groupDatas[i]+"‘>"+groupDatas[i]+"</option>");
        }
        $("#userGroup").empty();
    }

  function SubmitPage(){
        var groupData = getTrueData(‘userGroup‘);
     var queryGroup = $("#queryGroup").is(":checked");
        $.ajax({
            url:‘save.do‘,type:‘post‘,
            data:{groupData:groupData,queryGroup:queryGroup},
            dataType:‘html‘,cache:false,global:false,
            error: function() {
                alert("网络错误!");
            },
            success:function(msg){
                if(msg!="success"){
                    alert(msg);
                    return;
                }
            }
        });
    }
</script>

jsp代码

<table>
     <tr>
       <td>
        <select id="groupList" size="9" style="width: 180px;" ondblclick="clickReverseBtn(‘groupList‘,‘userGroup‘)">
           <c:forEach items="${GroupList}" varStatus="i" var="m">
              <option value="${m.Get(‘Name‘)}">${m.Get(‘Name‘)}</option>
           </c:forEach>
         </select>
       </td>
       <td>
          <input type="button" value=">>" onclick="clickReverseBtn(‘groupList‘,‘userGroup‘)" />
         <br />
          <br />
          <br />
          <br />
          <input type="button" value="&lt; &lt;" onclick="clickReverseBtn(‘userGroup‘,‘groupList‘)" />
          <br />
          <input type="button" value="清除" onclick="clearGroup()" />
       </td>
       <td>
         <select id="userGroup" size="9" style="width: 180px;" ondblclick="clickReverseBtn(‘userGroup‘,‘groupList‘)"></select>
       </td>
    </tr>
 </table>
时间: 2024-10-16 00:27:11

Jquery实现select左右栏的添加移除的相关文章

jQuery获取Select选中的Text和Value,根据Value值动态添加属性等

语法解释:1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text3. var checkValue=$("#select_id").val();  //获取Selec

Jquery获取select option动态添加自定义属性值失效

Jquery获取select option动态添加自定义属性值失效 2014/12/31 11:49:19 中国学网转载 编辑:李强 http://www.xue163.com/588880/39096/390963333.html 为了帮助网友解决“Jquery获取select optio”相关的问题,中国学网通过互联网对“Jquery获取select optio”相关的解决方案进行了整理,用户详细问题包括:jqueryselectie9  function GetFenceItemData(

jquery为select添加option的代码探讨

这是一道讨论"使用jQuery为select添加option选项的最佳代码方法".分析哪一种的写法是最佳方法.在stackoverflow上众说纷纷,下面来看看有哪些写法. 第一种使用for循环 var selectValues = { "1": "test 1", "2": "test 2" }; for (key in selectValues) { if (typeof (selectValues[k

jquery练习事件的添加移除

<!doctype html> <html> <head> <meta charset="gb2312"> <title>nuzhang练习事件的添加移除-title</title> <script src="js/jquery-1.11.1.min.js"></script> <script> $(document).ready(function(e) {

jQuery获取Select选择的Text(非表单元素)和 Value(表单元素)(转)

jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text 3. var checkValue=$("#selec

jQuery获取Select选择的Text和 Value

jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text 3. var checkValue=$("#se

下拉框&mdash;&mdash;把一个select框中选中内容移到另一个select框中遇到的问题

在使用jQuery实现把一个select框中选中内容移到另一个select框中功能时遇到了一个问题,就是点击按钮时内容可以到另一个select框中,但是到了另一个select框中的内容却很快闪退回原来的select框中,代码如下:                  <select class="select1" name="select1" multiple="multiple">                     <op

jQuery获取Select选择的Text和 Value(转)

jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text3. var checkValue=$("#select

jQuery获取Select选择的Text和Value(详细汇总)

语法解释: 1. $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text(); //获取Select选择的Text 3. var checkValue=$("#select_id").val(); //获取Select