JQuery 实现Selct 多分类从左到右的操作
来源:互联网 发布:tp非法数据对象 编辑:程序博客网 时间:2024/06/05 10:11
<!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=gbk" /><title>JQuery操作select</title><script type="text/javascript" src="jquery-1.4.min.js"></script><script language="javascript">// select 中的 onchange()事件function selectChange() { $("#addBT").attr("disabled",false); // 首先将添加按钮设为可用 var selectObject = $("#myselect").val(); // 取得左侧所选取的值 $("#myresult").find("option").each(function(){ // 以 option 为参数 查询 右侧所有的可选项并逐一遍历 if($(this).val() == selectObject){ // 判断左侧中选择的项在右侧中是否已经存在 //alert("I got you!"); $("#addBT").attr("disabled",true); // 如果上面的判断存在则将添加按钮设为不可用, 禁止重复添加 } }); }// 左侧增加到右侧function toAdd() { var selectObject = $("#myselect").val(); // 取得左侧所选取的值 if (null==selectObject) { alert("您未选择任何可以添加的内容!"); return; } var content = "<option value='"+selectObject+"'>"+selectObject+"</option>"; // 填充右侧的值 $("#myresult").append(content); selectChange(); // 最后调用 selectChange()模拟onChange()事件, 主要是为了能够及时地将禁用的添加按钮重新激活(如果有必要) }// 右侧移除function toRemove() { var removeObject = $("#myresult option:selected").val(); // 取得右侧要移除的内容, 注意可多选 if (null==removeObject) { alert("您未选择任何要删除的内容!"); return; } $("#myresult option:selected").remove(); selectChange(); // 与toAdd()中调用原理一致}</script></head><body><p style="color:#F60; size:auto">author: Jian</p><select style="width:100px" id="myselect" size="5" onchange="selectChange()"> <option value="曹操">曹操</option> <option value="刘备">刘备</option> <option value="孙权">孙权</option></select><input id="addBT" name="addBT" type="button" value="添加" onclick="toAdd()"/><input id="rmBT" name="rmBT" type="button" value="移除" onclick="toRemove()"/><select style="width:100px" size="5" multiple="MULTIPLE" id="myresult"></select></body>