首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Combo通用门类封装

2014-01-23 
Combo通用类型封装1.Combobox封闭%@ page languagejava contentTypetext/html charsetUTF-8pageE

Combo通用类型封装

1.Combobox封闭

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>润颐科技</title><style type="text/css"></style><link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/base.css"><link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/index.css"><script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.9.1.min.js"></script><script type="text/javascript" src="${pageContext.request.contextPath}/js/index.js"></script><!--script type="text/javascript" src="${pageContext.request.contextPath}/js/view/esm/usermanager/create_user.js"></script--><script type="text/javascript">/** *  */function runyi_Combobox() {}function ComboObj(text,value) {this.text = text;this.value = value;}//Combobox数据存储容器var comboboxStore = new Array();var index = 0;/** *  * 组件值对象 * Combobox值对名胜 * formObjId hidden 用户表单提交值对象ID * value <option value="">所选择对象的值 * text <option>text</option> 所选择对象显示内容 * itemId 所选项目id *  */function ComboxVoObj(formObjId,name,value,text,itemId) {this.formObjId = formObjId;this.name = name;this.value = value;this.text = text;this.itemId = itemId;} /** * 初始化数据 */function comboboxInitData() {var combobox_zk = "combobox_zk";//解析页面中存在的数据select 数据$("." + combobox_zk).each(function(){//隐式存值input 对象Idvar hidId = $(this).attr("name") + "_hidden";var name = $(this).attr("name");//加载页面初始数据并存入Combobox容器中$(this).find("option").each(function(){var comboxVoObj = new ComboxVoObj(hidId,name,$(this).val(),$(this).text(),"combox_item_" + (index + 1));comboboxStore[index++] = comboxVoObj;});$(this).after("<dd class="cr_role_t cr_select_box">"          + "<div class="select_box">"          + "<input type="hidden" class="select_value" name="" + name + "" id="" + hidId + "" value="" />"           + "<span class="select_txt" id="" + name + "_show_input"></span>"          + "<a class="select_open icon16 gray_arrow_b"></a>"                  + "<div class="select_option" id="" + name + "_show_bar">"                  + "</div>"                  + "</div>"                + "</dd>");//添加显示层级var layout_z_index = 1000;$(".cr_select_box").each(function(){$(this).css({"z-index":--layout_z_index});});//显示对应的combobox[区域]var select_combox = $("#" + name + "_show_bar");//清空显示区域内容$(select_combox).empty();for (var i = 0; i < comboboxStore.length; i++) {//判断是否为对应组件if (name+"_hidden" == comboboxStore[i].formObjId) {select_combox.append("<a class="select_item" id="" + comboboxStore[i].itemId + "" style="height:20px;">"        + comboboxStore[i].text + "</a>");}}var showText = $(this).find("option:selected").text();$("#" + name + "_show_input").text(showText);$("#" + name + "_hidden").val($(this).val());$(this).attr("name",name + "_hidden");});comboboxInitEvent();//对显示项添加鼠标移动事件    $(".select_item").each(function(){$(this).hover(    function(){    $(this).addClass("item_selected");},function(){    $(this).removeClass("item_selected");});});}/** * 组件事件添加 */function comboboxInitEvent() {//添加显示项点击事件$(".select_item").click(function(){//$(this).addClass("item_selected");var item = $(this);for (var i  = 0; i < comboboxStore.length; i++) {var id = $(item).attr("id");var storeItem = comboboxStore[i];//判断当前ID是否与存储内容相等if (id == storeItem.itemId) {//alert("id" + id + " itemId" + storeItem.itemId + " name:" + storeItem.name);$("#" + storeItem.id).val(storeItem.value);//显示选择输出值 $("#" + storeItem.name + "_show_input").text(storeItem.text);$("#" + storeItem.name + "_hidden").val(storeItem.value);//$("#" + storeItem.name + "_show_bar").hide();}}});$(".select_box").click(function(){/**select_combox.append("<a class="select_item" id="" + comboboxStore[i].itemId + "" style="height:20px;">"        + comboboxStore[i].text + "</a>");**/var select_option = $(this).find(".select_option");//alert("xxx" + $(select_option).attr("id") + " 000===");if ($(select_option).is(":hidden")) {$(select_option).show();}else {$(select_option).hide();}});} /**  *  *  * 启动加载  *  **/ $(document).ready(function(){comboboxInitData(); });  runyi_Combobox.addItemEvent = function addSelectItemEvent() { $(".select_item").click(function(){//$(this).addClass("item_selected");var item = $(this);for (var i  = 0; i < comboboxStore.length; i++) {var id = $(item).attr("id");var storeItem = comboboxStore[i];//判断当前ID是否与存储内容相等if (id == storeItem.itemId) {//alert("id" + id + " itemId" + storeItem.itemId + " name:" + storeItem.name);$("#" + storeItem.id).val(storeItem.value);//显示选择输出值 $("#" + storeItem.name + "_show_input").text(storeItem.text);$("#" + storeItem.name + "_hidden").val(storeItem.value);//$("#" + storeItem.name + "_show_bar").hide();}}}); }  /**  * 添加(name[select name],text[<option> text</option>],value[<option value="">])  **/ runyi_Combobox.addOptiton = function(name,text,value) {      var hidId = name + "_hidden"; var comboxVoObj = new ComboxVoObj(hidId,name,value,text,"combox_item_" + (index + 1)); var i = index++; comboboxStore[i] = comboxVoObj; $("#" + name + "_show_bar").append("<a class="select_item" id="" + comboboxStore[i].itemId + "" style="height:20px;">"        + comboboxStore[i].text + "</a>"); runyi_Combobox.addItemEvent(); }; /**  * 定义定位方法  *   **/ Array.prototype.indexOf = function(val) {     for (var i = 0; i < this.length; i++) {         if (this[i] == val) return i;     }     return -1; }; /**  *  * 删除数据  *  *  **/ Array.prototype.remove = function(val) {     var index = this.indexOf(val);     if (index > -1) {         this.splice(index, 1);     } };   /**  * 从新加载数据  *  */ runyi_Combobox.reloadData = function(name,arraydata) { runyi_Combobox.clear(name); for (var i = 0; i < arraydata.length; i++) { var comboObj = arraydata[i]; if (comboObj instanceof ComboObj) {    runyi_Combobox.addOptiton(name,comboObj.text,comboObj.value); } } };  /**  *  *   * 删除指定项 name 和key   *  *  **/ runyi_Combobox.removeOption = function(name,value) { $("#" + name + "_show_bar").find(".select_item").each(function(){ var select_item = $(this); var id = $(this).attr("id"); for (var i = 0; i < comboboxStore.length; i++) { if (comboboxStore[i].name == name && comboboxStore[i].itemId == id ) { comboboxStore.remove(i); $(select_item).remove(); break; } } }); };  /**  *  *  * 清空对应域数据  *  **/ runyi_Combobox.clear = function(name) { for (var i = 0; i < comboboxStore.length; i++) { if (comboboxStore[i].name == name) { comboboxStore.remove(i); //删除指定元素 $("#" + comboboxStore[i].itemId).remove();     $("#" + comboboxStore[i].name + "_show_input").text(""); } } };  /**  *  * 设置显示的值  *  **/ runyi_Combobox.setSelectOption = function(name,value) { for (var i = 0; i < comboboxStore.length; i++) { var selected = comboboxStore[i]; if (selected.name == name && selected.value == value) { $("#" + selected.formObjId).val(selected.value); $("#" + selected.name + "_show_input").text(selected.text); } } };  function loadDataTest() { var data = new Array(); var i = 0; //ComboObj data[++i] = new ComboObj("刘庆",1001); data[++i] = new ComboObj("项目管理",1002); data[++i] = new ComboObj("流程管理",1003); runyi_Combobox.reloadData("roleType",data); } </script><script type="text/javascript">function submitForm(idname) {$("#mask").show();setTimeout(function(){$("#" + idname).submit();},200);}</script></head><body><!--[if lte IE 6]><script src="../js/DD_belatedPNG_0.0.8a.js"></script><script>DD_belatedPNG.fix('.logo a ,.active a , .a_active h3 a , .a_active h3 a:hover ,.cs_nav_btn2 em ,.cs_nav_btn1 em ,.icon16 ,.icon32,.icon38');document.execCommand("BackgroundImageCache",false, true);window.onload = function(){var aDiv= document.getElementById("ie6_warning");var aA = document.getElementById("close_warning");aA.onclick = function(){aDiv.style.display = "none" ;}}</script> <div id="ie6_warning"><div target="_blank">IE8</a>或以下浏览器:</p><p><a href="http://www.firefox.com.cn/download/" target="_blank">Firefox</a>|<a href="http://www.google.cn/chrome" target="_blank">Chrome</a>|<a href="http://www.apple.com.cn/safari/" target="_blank">Safari</a>|<a href="http://www.Opera.com/" target="_blank">Opera</a></p></div><a id="close_warning" href="javascript:;"></a></div><![endif]--> <!--header--><div title="润颐科技">润颐科技</a></h1><div href="javascript">admin</a><a href="#">[退出]</a>&nbsp;|&nbsp;<a href="#">帮助中心</a></div></div></div><div id="fixedMenu" ><ul id="nav_list"><li><a href="index.html">首页</a></li><li><a href="operation.html">运营管理</a></li><li><a href="setting.html">应用设置</a></li><li name="form" action="${pageContext.request.contextPath}/esm/user_manager/role/update.htm" method="post"><div name="roleid" value="${roleInfoVo.id }" /></a></h3><i name="rolename" value="${roleInfoVo.title}" /><input type="button" onclick="javascript:runyi_Combobox.addOptiton('roleType','liuqing','12');" value="add" /><input type="button" onclick="javascript:runyi_Combobox.clear('roleType')" value="clear"/><input type="button" onclick="javascript:loadDataTest()" value="loadDataTest"/><input type="button" onclick="javascript:runyi_Combobox.setSelectOption('roleType',1002)" value="selectOption"/></dd></dl><dl name="roleType" style="display:none;">    <c:forEach var="roleInfo" items="${roleInfoTypes}"><option value="${roleInfo.id}" <c:if test="${roleInfo.id == 1}"> selected="selected" </c:if> >${roleInfo.title}</option></c:forEach></select><dd /><input type="submit" value="确 定" /></div></dd></dl><dl name="roleStatus" style="display:none;"><option value="1">激活</option><option value="2">禁用</option></select></dl><dl  cellspacing="0" var="perType"><tr><td value="${perType.id}" <c:if test="${perType.selectedValueState == 1 }"> checked="checked" </c:if> onclick="permissType(this)" name="allowPermisson" /><span>${perType.titlecn}</span></label></td><td  id="item_${perType.id}"><ul var="perSub"><li><label><input type="checkbox" name="allowPermisson" <c:if test="${perSub.selectedValueState == 1 }"> checked="checked" </c:if> value="${perSub.id}" /><span>${perSub.titlecn}</span></label></li>    </c:forEach></ul></td></tr></c:forEach></tbody></table></div></dd></dl><dl name="remark" href="javascript:;">取消</a><a onclick="submitForm('form')" href="javascript:;">保存</a></div></div></div></form></div></div></div><!-- end a_content --><div ><div ><li><a href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span href="javascript:;">标题标题标题标题标题</a><div /><input type="submit" value="保 存" /></span></div><span /><input type="submit" value="保 存" /></span></div></div></div></div></div></div></div><!-- mask --><div id="mask">    <div style="width: 400px;text-align:center; margin:auto;margin-top:400px; " align="absmiddle">        <img src="${pageContext.request.contextPath}/images/loading.gif"  border="0">    </div></div></html></body></html>

?

?

/**  * @author LiuQing  * @version 1.0  * @date 2014-1-20 16:35  * 多数据加载测试  * 使用案例  * function loadDataTest() {  * var data = new Array();  * var i = 0;  * //ComboObj  * data[++i] = new ComboObj("刘庆",1001);  * data[++i] = new ComboObj("项目管理",1002);  * data[++i] = new ComboObj("流程管理",1003);  * runyi_Combobox.reloadData("roleType",data);  * }  *<input type="text" name="rolename" value="${roleInfoVo.title}" />  *<input type="button" onclick="javascript:runyi_Combobox.addOptiton('roleType','liuqing','12');" value="add" />  *<input type="button" onclick="javascript:runyi_Combobox.clear('roleType')" value="clear"/>  *<input type="button" onclick="javascript:loadDataTest()" value="loadDataTest"/>  *<input type="button" onclick="javascript:runyi_Combobox.setSelectOption('roleType',1002)" value="selectOption"/>  *//**  * 扩展 定义定位方法  *   **/ Array.prototype.indexOf = function(val) {     for (var i = 0; i < this.length; i++) {         if (this[i] == val) return i;     }     return -1; }; /**  *  * 扩展 删除数据  *   *  **/ Array.prototype.remove = function(val) {     var index = this.indexOf(val);     if (index > -1) {         this.splice(index, 1);     } };/** * Constructor */function runyi_Combobox() {};/** * @param text 显示文本 * @param value 显示值 * Constructor */function ComboObj(text,value) {this.text = text;this.value = value;};//Combobox数据存储容器var comboboxStore = new Array();//项目编号var index = 0;/** *  * 组件值对象 * Combobox值对名胜 * formObjId hidden 用户表单提交值对象ID * value <option value="">所选择对象的值 * text <option>text</option> 所选择对象显示内容 * itemId 所选项目id *  */function ComboxVoObj(formObjId,name,value,text,itemId) {this.formObjId = formObjId;this.name = name;this.value = value;this.text = text;this.itemId = itemId;}; /** * 初始化数据 */function comboboxInitData() {var combobox_zk = "combobox_zk";//解析页面中存在的数据select 数据$("." + combobox_zk).each(function(){//隐式存值input 对象Idvar hidId = $(this).attr("name") + "_hidden";var name = $(this).attr("name");//加载页面初始数据并存入Combobox容器中$(this).find("option").each(function(){var comboxVoObj = new ComboxVoObj(hidId,name,$(this).val(),$(this).text(),"combox_item_" + (index + 1));comboboxStore[index++] = comboxVoObj;});$(this).after("<dd class="cr_role_t cr_select_box">"          + "<div class="select_box">"          + "<input type="hidden" class="select_value" name="" + name + "" id="" + hidId + "" value="" />"           + "<span class="select_txt" id="" + name + "_show_input"></span>"          + "<a class="select_open icon16 gray_arrow_b"></a>"                  + "<div class="select_option" id="" + name + "_show_bar">"                  + "</div>"                  + "</div>"                + "</dd>");//添加显示层级var layout_z_index = 1000;$(".cr_select_box").each(function(){$(this).css({"z-index":--layout_z_index});});//显示对应的combobox[区域]var select_combox = $("#" + name + "_show_bar");//清空显示区域内容$(select_combox).empty();for (var i = 0; i < comboboxStore.length; i++) {//判断是否为对应组件if (name+"_hidden" == comboboxStore[i].formObjId) {select_combox.append("<a class="select_item" id="" + comboboxStore[i].itemId + "" style="height:20px;">"        + comboboxStore[i].text + "</a>");}}var showText = $(this).find("option:selected").text();$("#" + name + "_show_input").text(showText);$("#" + name + "_hidden").val($(this).val());try {$(this).attr("name",name + "_hidden");            $(this).removeAttr("name");}catch(e){}});comboboxInitEvent();//对显示项添加鼠标移动事件    $(".select_item").each(function(){$(this).hover(    function(){    $(this).addClass("item_selected");},function(){    $(this).removeClass("item_selected");});});};/** * 组件事件添加 */function comboboxInitEvent() {//添加显示项点击事件$(".select_item").click(function(){var item = $(this);for (var i  = 0; i < comboboxStore.length; i++) {var id = $(item).attr("id");var storeItem = comboboxStore[i];//判断当前ID是否与存储内容相等if (id == storeItem.itemId) {$("#" + storeItem.id).val(storeItem.value);//显示选择输出值 $("#" + storeItem.name + "_show_input").text(storeItem.text);$("#" + storeItem.name + "_hidden").val(storeItem.value);}}});$(".select_box").click(function(){var select_option = $(this).find(".select_option");if ($(select_option).is(":hidden")) {$(select_option).show();}else {$(select_option).hide();}});}; /**  *  *  * 启动加载  *  **/ $(document).ready(function(){comboboxInitData(); });  /**  * 添加选择项Event  */ runyi_Combobox.addItemEvent = function addSelectItemEvent() { $(".select_item").click(function(){var item = $(this);for (var i  = 0; i < comboboxStore.length; i++) {var id = $(item).attr("id");var storeItem = comboboxStore[i];//判断当前ID是否与存储内容相等if (id == storeItem.itemId) {$("#" + storeItem.id).val(storeItem.value);//显示选择输出值 $("#" + storeItem.name + "_show_input").text(storeItem.text);$("#" + storeItem.name + "_hidden").val(storeItem.value);}}}); };  /**  * 添加(name[select name],text[<option> text</option>],value[<option value="">])  * @param name selectedComponentName  * @param text option Text option显示内容  * @param value option value对应的值  **/ runyi_Combobox.addOptiton = function(name,text,value) {      var hidId = name + "_hidden"; var comboxVoObj = new ComboxVoObj(hidId,name,value,text,"combox_item_" + (index + 1)); var i = index++; comboboxStore[i] = comboxVoObj; $("#" + name + "_show_bar").append("<a class="select_item" id="" + comboboxStore[i].itemId + "" style="height:20px;">"        + comboboxStore[i].text + "</a>"); runyi_Combobox.addItemEvent(); };  /**  * 从新加载数据  * @param name selectComponent组件  * @param arraydata 数组[new ComboObj(text,value),new ComboObj{text,value}]  *  */ runyi_Combobox.reloadData = function(name,arraydata) { runyi_Combobox.clear(name); for (var i = 0; i < arraydata.length; i++) { var comboObj = arraydata[i]; if (comboObj instanceof ComboObj) {    runyi_Combobox.addOptiton(name,comboObj.text,comboObj.value); } } };  /**  *  * @param name select组件name  * @param value option映射值  * 删除指定项 name 和key   *  *  **/ runyi_Combobox.removeOption = function(name,value) { $("#" + name + "_show_bar").find(".select_item").each(function(){ var select_item = $(this); var id = $(this).attr("id"); for (var i = 0; i < comboboxStore.length; i++) { if (comboboxStore[i].name == name && comboboxStore[i].itemId == id ) { comboboxStore.remove(i); $(select_item).remove(); break; } } }); };  /**  *  * @param name String  * 清空对应域数据  *  **/ runyi_Combobox.clear = function(name) { for (var i = 0; i < comboboxStore.length; i++) { if (comboboxStore[i].name == name) { comboboxStore.remove(i); //删除指定元素 $("#" + comboboxStore[i].itemId).remove();     $("#" + comboboxStore[i].name + "_show_input").text(""); } } };  /**  * @param name String selectComponetName  * @param value  optionValue  * 设置显示的值  *  **/ runyi_Combobox.setSelectOption = function(name,value) { for (var i = 0; i < comboboxStore.length; i++) { var selected = comboboxStore[i]; if (selected.name == name && selected.value == value) { $("#" + selected.formObjId).val(selected.value); $("#" + selected.name + "_show_input").text(selected.text); } } }; 

?

?

?

?

?

热点排行