欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

兩個(gè)listbox實(shí)現(xiàn)選項(xiàng)的添加刪除和搜索

 更新時(shí)間:2013年03月01日 10:35:20   作者:  
listbox竟然可以實(shí)現(xiàn)選項(xiàng)的添加刪除和搜索不可思議吧,至于采用什么樣的方法實(shí)現(xiàn)的,具體代碼祥看本文嘍,或許可以幫助到你

兩個(gè)listbox實(shí)現(xiàn)選項(xiàng)的添加,刪除和搜索

貼一下主要的js代碼,一些資源我就不傳了。下面是效果圖。

group.js

復(fù)制代碼 代碼如下:

function addMember()
{
//右側(cè)選中的項(xiàng)添加到左側(cè)
var add=$("#newAddMembersId").val();
var del=$("#deleteMembersId").val();
var ext=$("#existedMemberId").val();
var newAddId="";
//獲取新加的userId
var addedUsers=$("#enterpriseMember input:checkbox[checked]");
for(var i=0;i<addedUsers.length;i++)
{
var checkbox=$(addedUsers[i]);
var uid=checkbox.next().val();
if(add.indexOf(uid)>=0 || (ext.indexOf(uid)>=0 && del.indexOf(uid)<0))
{
continue;
}
if(!(ext.indexOf(uid)>=0 && del.indexOf(uid)>=0))
{
if(add.indexOf(uid)<0)
{
if(add.length==0)
add+=uid;
else
add+=","+uid;
}
}
//添加數(shù)據(jù)到左側(cè)列表
checkbox.removeAttr("checked");
var userDiv=checkbox.parent().parent().parent();
$("#groupMember").append(userDiv.clone());
del=del.replace(uid+",","");
del=del.replace(uid,"");
$("#deleteMembersId").val(del);

}

$("#newAddMembersId").val(add);

}

function removeMember()
{
//左側(cè)移除成員
var add=$("#newAddMembersId").val();
var del=$("#deleteMembersId").val();
var newRemoveId="";

var removedUsers=$("#groupMember input:checkbox[checked]");
for(var i=0;i<removedUsers.length;i++)
{
var checkbox=$(removedUsers[i]);
var uid=checkbox.next().val();
if(del.indexOf(uid)>=0)
{
continue;
}
if(del.indexOf(uid)<0)
{
if(del.length==0)
del+=uid;
else
del+=","+uid;
}
//左側(cè)列表中移除數(shù)據(jù)
checkbox.removeAttr("checked");
var userDiv=checkbox.parent().parent().parent();
userDiv.remove();
//$("#enterpriseMember").append(userDiv);
add=add.replace(uid + ",", "");
add=add.replace(uid, "");
$("#newAddMembersId").val(add);

}

$("#deleteMembersId").val(del);
}
//搜索成員,按名字,按部門(mén)
function searchMember()
{

var searchTxt=$.trim($("#searchTxt").val());
var memberLIsts=$(".dmlist");
//移除上次的結(jié)果
var lastReusts=$(".tempResult");
for(var i=0;i<lastReusts.length;i++)
{
$(lastReusts[i]).remove();
}
//為空搜索顯示全部列表
if(searchTxt=="" || searchTxt=="搜索企業(yè)成員")
{
//show all hidded ml
for(var i=0;i<memberLIsts.length;i++)
{
$(memberLIsts[i]).css("display","");
}
return ;
}
//hide all memberlist,隱藏所有的列表
for(var i=0;i<memberLIsts.length;i++)
{
$(memberLIsts[i]).css("display","none");
}
//搜索-------------
var enterpriseMemberDiv=$("#enterpriseMember");
//search by name,add class:tempResult
var names=$(".sname");
for(var i=0;i<names.length;i++)
{
var name=$(names[i]).text();
if(name.indexOf(searchTxt)>=0)
{
var result=$(names[i]).parent().parent().parent().clone();
result.addClass("tempResult");
result.css("display","");
enterpriseMemberDiv.append(result);
}
}

//search by departmentName
var departmentNames=$(".sdepartment");
for(var i=0;i<departmentNames.length;i++)
{
var name=$(departmentNames[i]).text();
if(name.indexOf(searchTxt)>=0)
{
var result=$(departmentNames[i]).parent().parent().parent().clone();
result.addClass("tempResult");
result.css("display","");
enterpriseMemberDiv.append(result);
}
}
}

function clearTxt()
{
var txt=$.trim($("#searchTxt").val());
if(txt=="搜索企業(yè)成員")
$("#searchTxt").val("");

}
function setsearchTxt()
{
var txt=$.trim($("#searchTxt").val());
if(txt=="")
$("#searchTxt").val("搜索企業(yè)成員");

}
//展開(kāi)折疊器
function folderToggle(event,basePath)
{
var evnet=event||window.event;
var arrowDiv=event.target||event.srcElement;
var closeimg=basePath+"/images/folder_close.PNG";
var openimg=basePath+"/images/folder_open.PNG";
var srcval=$(arrowDiv).attr("src");
if(srcval==closeimg)
$(arrowDiv).attr("src",openimg);
if(srcval==openimg)
$(arrowDiv).attr("src",closeimg);

var listDiv=$(arrowDiv).parent().next().next().next();
listDiv.toggleClass("memberlist");

}
//點(diǎn)擊名字折疊
function folderNameToggle(event,basePath)
{
var evnet=event||window.event;
var arrowDiv=event.target||event.srcElement;
var closeimg=basePath+"/images/folder_close.PNG";
var openimg=basePath+"/images/folder_open.PNG";
var srcval=$(arrowDiv).attr("src");
if(srcval==closeimg)
$(arrowDiv).attr("src",openimg);
if(srcval==openimg)
$(arrowDiv).attr("src",closeimg);

var listDiv=$(arrowDiv).parent().next().next();
listDiv.toggleClass("memberlist");

}

function folderNumToggle(event,basePath)
{
var evnet=event||window.event;
var arrowDiv=event.target||event.srcElement;
var closeimg=basePath+"/images/folder_close.PNG";
var openimg=basePath+"/images/folder_open.PNG";
var srcval=$(arrowDiv).attr("src");
if(srcval==closeimg)
$(arrowDiv).attr("src",openimg);
if(srcval==openimg)
$(arrowDiv).attr("src",closeimg);

var listDiv=$(arrowDiv).parent().parent().next().next();
listDiv.toggleClass("memberlist");

}


function setCss(event,onoff)
{
var theclass=$.trim(onoff);
var offclass="addmemberBtnoff";
var onclass="addmemberBtnon";
var event=event||window.event;
var thisbtn=event.target||event.srcElement;
$(thisbtn).removeClass(onclass);
$(thisbtn).removeClass(offclass);
if(theclass=="on")
{
$(thisbtn).addClass(onclass);
}
else
{
$(thisbtn).addClass(offclass);
}

}



test.jsp 
復(fù)制代碼 代碼如下:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="/pages/common/Taglibs.jsp"%>
<%@ include file="/pages/common/Header.jsp"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>添加群組成員</title>
<script type="text/javascript" src="<%=basePath%>/script/group.js"></script>
<script type="text/javascript">
$(document).keydown(function (event){
if(event && event.keyCode==13){
$("#searchBtn").click();
}
});

function backpage(group_id){
//window.history.back();
window.location.href="<%=basePath%>/server/group?group_id="+group_id;
}
function closeWin()
{
this.close();
}

function saveChanges() {
function okFun() {
var deleteMembersId = $("#deleteMembersId").val();
var newAddMembersId = $("#newAddMembersId").val();
var group_id = $("#group_id").val();
window.location.href = "<%=basePath%>/server/group!saveGroupMember?group_id="
+ group_id
+ "&newAddMembersId="
+ newAddMembersId
+ "&deleteMembersId=" + deleteMembersId;
};
function cancelFun() {
};
//PopuMsgBox("確認(rèn)提示","是否保存?",okFun,cancelFun,150,100);
okFun();
}

</script>

</head>

<body class="bgClass">
<div id="addGroupMembercontainer" style="padding:20px 40px;width:auto;height:auto;">
<div class="roundGroup" style="float:left;width:241px;height:380px;">
<div style="margin-bottom:5px;margin-top:10px;padding-right:2px;">
<span class="spangrouptitle" style="line-height:16px;color:#404754;font-weight:bold;font-size:13px;">&nbsp;群組<s:property value="group_name"></s:property> </span>
<span id="menberCount" style="color:#838a97;">&nbsp;${gNumber}人</span><br/>
<hr style="border: 1px dotted #C0D3DC"/>
</div>
<div id="groupMember" style="margin-right:8px;height:306px;overflow-y:auto;overflow-x:hidden;width:237px;">
<!-- 內(nèi)容列表 -->
<s:if test="#request.groupMemberList!=null && #request.groupMemberList.size!=0">
<s:iterator value="#request.groupMemberList" id="gmember">
<div style="padding-left:5px;padding-right:1px;">
<div style="height:16px;" onclick="toggleCheck(event);">
<div style="width:auto;float:left;">
<input type="checkbox" />
<input type="hidden" value="<s:property value="#gmember.id"/>" name="userId" />
<span style="color:#404754;"><s:property value="#gmember.name" /></span>
</div>
<div class="positionblue" style="float:right;width:auto;text-align:right;">
<span style="color:#838a97;"><s:property value="#gmember.position_name" /></span>
</div>
</div>
<div style="clear:left;"></div>
</div>
</s:iterator>
</s:if>
</div>
</div>
<div style="float:left;width:80px;padding-top:150px;text-align:center;">
<div style="height: auto;">
<input class="addmemberBtn addmemberBtnon" onmouseover="setCss(event,'on')" onmouseout="setCss(event,'off')" type="button" value="&lt;&lt;添加" onclick="addMember()" />
</div>
<br/>
<div style="height:auto;">
<input class="addmemberBtn addmemberBtnon" onmouseover="setCss(event,'on')" onmouseout="setCss(event,'off')" type="button" value="移除&gt;&gt;" onclick="removeMember()" />
</div>
</div>
<div class="roundGroup" style="float:left;width:241px;height:380px;">
<div style="margin-bottom:5px;margin-top:10px;padding-right:2px;">
<span class="spangrouptitle" style="color:#404754;font-weight:bold;font-size:13px;">&nbsp;所有企業(yè)成員</span>
<span style="color:#838a97;">&nbsp;${eNumber}人</span><br/>
<hr style="border: 1px dotted #C0D3DC" />
</div>
<div style="height:30px;padding-left:5px;">
<div style="height:14px;float:left;"><input id="searchTxt" style="width:215px;line-height:14px;color:#838a97;" type="text" value="搜索企業(yè)成員" onfocus="clearTxt()" onblur="setsearchTxt()"/></div>
<div style="height:14px;float:left;margin-top:4px;"><img id="searchBtn" onclick="searchMember();" style="width:14px;height:14px;cursor:pointer;" src="<%=basePath%>/images/searchBtn.PNG"/></div>
<div style="clear:both;"></div>
</div>
<div id="enterpriseMember" style="height:280px;overflow-y:auto;overflow-x:hidden;width:233px;">
<!-- 內(nèi)容列表 -->
<s:if test="#request.departmentMemberList!=null && #request.departmentMemberList.size!=0">
<s:iterator value="#request.departmentMemberList" id="department">
<div class="dmlist" style="padding-bottom:2px;">
<div style="float:left;height:13px;padding-top:0px;"><img class="folder" style="" src="<%=basePath%>/images/folder_close.PNG" onclick="folderToggle(event,'<%=basePath%>')"/></div>
<div style="float:left;height:13px;"><span style="cursor:pointer;" onclick="folderNameToggle(event,'<%=basePath%>')"><s:property value="#department.departmentName"/><span style="color:#838a97;" onclick="folderNumToggle(event,'<%=basePath%>')">&nbsp;<s:property value="#department.memberCount"/>人</span></span></div>
<div style="clear:both;"></div>
<div class="ml memberlist">
<s:iterator value="#department.memberList" id="emember">
<div style="padding-left:5px;padding-right:1px;">
<div style="height:16px;">
<div style="float:left;">
<input type="checkbox"/>
<input type="hidden" value="<s:property value="#emember.id"/>" name="userId" />
<span class="sname" style="color:#404754;"><s:property value="#emember.name" /></span>
</div>
<div class="positionblue" style="float:right;text-align:right;height:16px;">
<span class="sdepartment" style="color:#838a97;"><s:property value="#emember.position_name" /></span>
</div>
</div>
<div style="clear:both;"></div>
</div>
</s:iterator>
</div>
</div>
</s:iterator>
</s:if>
</div>
</div>
<div style="clear:both;width:600px;">
<div style="text-align:right;">
<input class="commonButton" style="" type="button" value="保存" onclick="saveChanges()"/>
<input type="hidden" id="newAddMembersId" name="newAddMembersId" value=""/>
<input type="hidden" id="deleteMembersId" name="deleteMembersId" value=""/>
<input type="hidden" id="existedMemberId" name="existedMemberId" value="${existedMemberId}"/>
<input type="hidden" id="group_id" name="group_id" value="${group_id}"/>
</div>
</div>
</div>
</body>
</html>


相關(guān)文章

  • JavaScript中EventBus實(shí)現(xiàn)對(duì)象之間通信

    JavaScript中EventBus實(shí)現(xiàn)對(duì)象之間通信

    這篇文章主要介紹了JavaScript中EventBus實(shí)現(xiàn)對(duì)象之間通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Pro JavaScript Techniques學(xué)習(xí)筆記

    Pro JavaScript Techniques學(xué)習(xí)筆記

    Pro JavaScript Techniques學(xué)習(xí)筆記,學(xué)習(xí)js的朋友可以參考下。
    2010-12-12
  • ES2020 已定稿,真實(shí)場(chǎng)景案例分析

    ES2020 已定稿,真實(shí)場(chǎng)景案例分析

    許多新的特性被提議包括在 ES2020版本中。好消息是這些已經(jīng)已經(jīng)敲定。 現(xiàn)在,我們獲得了最終定稿的功能清單,它們將在被批準(zhǔn)發(fā)布之后出現(xiàn)在備受期待的 ES2020 中,具體內(nèi)容詳情,大家可以閱讀下本文
    2020-05-05
  • Bootstrap頁(yè)面標(biāo)題Page Header的實(shí)現(xiàn)方法

    Bootstrap頁(yè)面標(biāo)題Page Header的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Bootstrap頁(yè)面標(biāo)題Page Header的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • JavaScript實(shí)現(xiàn)ASC轉(zhuǎn)漢字及漢字轉(zhuǎn)ASC的方法

    JavaScript實(shí)現(xiàn)ASC轉(zhuǎn)漢字及漢字轉(zhuǎn)ASC的方法

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)ASC轉(zhuǎn)漢字及漢字轉(zhuǎn)ASC的方法,涉及JavaScript編碼轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下
    2016-01-01
  • javascript實(shí)現(xiàn)登錄框拖拽

    javascript實(shí)現(xiàn)登錄框拖拽

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)登錄框拖拽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • JS常見(jiàn)問(wèn)題之為什么點(diǎn)擊彈出的i總是最后一個(gè)

    JS常見(jiàn)問(wèn)題之為什么點(diǎn)擊彈出的i總是最后一個(gè)

    最近有很多朋友問(wèn)我,為什么點(diǎn)擊彈出的i總是最后一個(gè),于是抽時(shí)間寫(xiě)了這篇文章,特此分享到腳本之家平臺(tái),供大家參考
    2016-01-01
  • Webpack之plugin的使用

    Webpack之plugin的使用

    本文主要介紹了Webpack之plugin的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 微信小程序返回到頂部功能的簡(jiǎn)單實(shí)現(xiàn)

    微信小程序返回到頂部功能的簡(jiǎn)單實(shí)現(xiàn)

    在做微信小程序開(kāi)發(fā)時(shí),遇到一個(gè)問(wèn)題,要如何實(shí)現(xiàn)返回頂部的功能,下面這篇文章主要給大家介紹了微信小程序返回到頂部功能的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Javascript 繪制 sin 曲線過(guò)程附圖

    Javascript 繪制 sin 曲線過(guò)程附圖

    這篇文章主要介紹了Javascript 繪制 sin 曲線過(guò)程,需要的朋友可以參考下
    2014-08-08

最新評(píng)論