html代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="demo.aspx.cs" Inherits="test_demo" %><!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 runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript" >
//listbox双击事件,当l1或l3双击时,l3或l1中相同索引的数据移动到l2中。
function ChangeItem1(l1,l2,l3) {
var cc = document.getElementById(l1).options[window.document.getElementById(l1).selectedIndex].value;
var dd = document.getElementById(l1).options[window.document.getElementById(l1).selectedIndex].text;
var op = new Option(dd, cc, true, true);
var i = window.document.getElementById(l1).selectedIndex;
document.getElementById(l1).options.remove(i);
document.getElementById(l3).options.remove(i);
document.getElementById(l2).options.add(op);
}
function ChangeItem2(l1,l2,l3) {
var cc = document.getElementById(l1).options[window.document.getElementById(l1).selectedIndex].value;
var dd = document.getElementById(l1).options[window.document.getElementById(l1).selectedIndex].text;
var op = new Option(dd, cc, true, true);
var oo = new Option(dd,cc,true,true);
var i = window.document.getElementById(l1).selectedIndex;
document.getElementById(l1).options.remove(i);
document.getElementById(l2).options.add(op);
document.getElementById(l3).options.add(oo);
}
</script>
</head>
<body>
<form id="myform" runat="server">
<%-- 左侧上边--%>
<select multiple id="l1" size=15 style="width:150" runat="server" ondblclick='ChangeItem1("l1","l2","l3")'>
</select>
<input type="button" name="Submit" value="提交" onclick='ChangeItem1("l1","l2","l3")' />
<%-- 右侧上边--%>
<select multiple size=15 style="width:150" id="l2" runat="server" ondblclick='ChangeItem2("l2","l1","l3")'>
</select><br />
<%-- 左侧下边--%>
<select multiple size=15 style="width:150" id="l3" runat="server" ondblclick='ChangeItem1("l3","l4","l1")'>
</select>
<input type="button" name="Submit" value="提交" onclick='ChangeItem1("l3","l4","l1")' />
<%-- 右侧下边--%>
<select multiple size=15 style="width:150" runat="server" id="l4" ondblclick='ChangeItem2("l4","l1","l3")'>
</select><asp:Button ID="Button1" runat="server" onclick="Button1_Click"
Text="Button" />
<br />
</form>
</body>
</html>后台代码using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Letter.BLL;
using Letter.Models;
using System.Collections.Generic;public partial class test_demo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
bind();
}
}
void bind()
{
IList<Tb_Company> list_tb_company = Tb_CompanyManager.GetAllTb_Companies();
foreach (Tb_Company tb_company in list_tb_company)
{
string text = tb_company.Num + "-" + tb_company.Title;
string id = tb_company.Id.ToString();
ListItem item = new ListItem(text, id);
this.l1.Items.Add(item);
this.l3.Items.Add(item);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
foreach(ListItem li in this.l2.Items)
{
string i = li.Text;
string j = li.Value;
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="demo.aspx.cs" Inherits="test_demo" %><!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 runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript" >
//listbox双击事件,当l1或l3双击时,l3或l1中相同索引的数据移动到l2中。
function ChangeItem1(l1,l2,l3) {
var cc = document.getElementById(l1).options[window.document.getElementById(l1).selectedIndex].value;
var dd = document.getElementById(l1).options[window.document.getElementById(l1).selectedIndex].text;
var op = new Option(dd, cc, true, true);
var i = window.document.getElementById(l1).selectedIndex;
document.getElementById(l1).options.remove(i);
document.getElementById(l3).options.remove(i);
document.getElementById(l2).options.add(op);
}
function ChangeItem2(l1,l2,l3) {
var cc = document.getElementById(l1).options[window.document.getElementById(l1).selectedIndex].value;
var dd = document.getElementById(l1).options[window.document.getElementById(l1).selectedIndex].text;
var op = new Option(dd, cc, true, true);
var oo = new Option(dd,cc,true,true);
var i = window.document.getElementById(l1).selectedIndex;
document.getElementById(l1).options.remove(i);
document.getElementById(l2).options.add(op);
document.getElementById(l3).options.add(oo);
}
</script>
</head>
<body>
<form id="myform" runat="server">
<%-- 左侧上边--%>
<select multiple id="l1" size=15 style="width:150" runat="server" ondblclick='ChangeItem1("l1","l2","l3")'>
</select>
<input type="button" name="Submit" value="提交" onclick='ChangeItem1("l1","l2","l3")' />
<%-- 右侧上边--%>
<select multiple size=15 style="width:150" id="l2" runat="server" ondblclick='ChangeItem2("l2","l1","l3")'>
</select><br />
<%-- 左侧下边--%>
<select multiple size=15 style="width:150" id="l3" runat="server" ondblclick='ChangeItem1("l3","l4","l1")'>
</select>
<input type="button" name="Submit" value="提交" onclick='ChangeItem1("l3","l4","l1")' />
<%-- 右侧下边--%>
<select multiple size=15 style="width:150" runat="server" id="l4" ondblclick='ChangeItem2("l4","l1","l3")'>
</select><asp:Button ID="Button1" runat="server" onclick="Button1_Click"
Text="Button" />
<br />
</form>
</body>
</html>后台代码using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using Letter.BLL;
using Letter.Models;
using System.Collections.Generic;public partial class test_demo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
bind();
}
}
void bind()
{
IList<Tb_Company> list_tb_company = Tb_CompanyManager.GetAllTb_Companies();
foreach (Tb_Company tb_company in list_tb_company)
{
string text = tb_company.Num + "-" + tb_company.Title;
string id = tb_company.Id.ToString();
ListItem item = new ListItem(text, id);
this.l1.Items.Add(item);
this.l3.Items.Add(item);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
foreach(ListItem li in this.l2.Items)
{
string i = li.Text;
string j = li.Value;
}
}
}
<input id="dataid" type="hidden" runat="server" />
foreach(ListItem li in this.l2.Items)
{
string i = li.Text;
string j = li.Value;
}
遍历 也取不到
而且我要去的是select 里面的多个值
前台取比较好!
如果是下拉列表的话,就不用这么麻烦还要谢JS了 而且我做的这个效果出来不是下拉列表,是个类似listbox这样的东西
<select id="s1" runat="server">
<option value="1" >sss</option>
<option value="2" >bbbb</option>
</select>
<asp:Button runat="server" ID="btn1111" onclick="btn1111_Click" />
</div>
protected void btn1111_Click(object sender, EventArgs e)
{
string das = s1.Items[s1.SelectedIndex];
string fds = s1.Value;
}取得到。
或
使用Request.Form["前台控件名称"]
遍历它 并用split(',') 分隔 就可获得 对应的 text 和 value 了