从一个列表到另一个列表的Javascript
我有一个从db填写的列表是userlist,如下所示:从一个列表到另一个列表的Javascript,javascript,asp.net,Javascript,Asp.net,我有一个从db填写的列表是userlist,如下所示: <select id="Userlist" name="cars" runat="server" multiple="true" style="width: 270px; height: 200px;"> </select> 另一个我试过的是 var user = document.getElementById("Userlist"); var seluser = us
<select id="Userlist" name="cars" runat="server" multiple="true" style="width: 270px; height: 200px;">
</select>
另一个我试过的是
var user = document.getElementById("Userlist");
var seluser = user.selectedIndex;
if (seluser == -1) {
window.alert("You must first select an item on the left side.")
}
else {
var toChoose = document.getElementById("ToChoose");
var newOption = user[seluser].cloneNode(true);
toChoose.appendChild(newOption);
}
编辑:这是我从数据库中填写用户列表的方式
string mycommand = "SELECT [id], [username] FROM [users]";
SqlDataAdapter x = new SqlDataAdapter(mycommand, ConnectionString);
DataSet ds = new DataSet();
x.Fill(ds, "users");
DataTable dt = ds.Tables[0];
Userlist.DataSource = dt;
Userlist.DataTextField = "username";
Userlist.DataValueField = "username";
Userlist.DataBind();
我想,也许你用错了Userlist的Id。如果您将所有代码发布到视图中,每个人都可以更好地帮助您 这是一个样本。希望能帮上忙,我的朋友:)) 1) 在代码隐藏中创建示例数据
public partial class About : Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dtName = new DataTable();
//Add Columns to Table
dtName.Columns.Add(new DataColumn("DisplayMember"));
dtName.Columns.Add(new DataColumn("ValueMember"));
//Now Add Values
dtName.Rows.Add("Suits", "0");
dtName.Rows.Add("Harvey Spector", "1");
dtName.Rows.Add("Jessica Pearson", "2");
dtName.Rows.Add("Mike Ross", "3");
dtName.Rows.Add("Donna Paulson", "4");
dtName.Rows.Add("Rachel", "5");
//Bind data to Userlist
Userlist.DataSource = dtName;
Userlist.DataTextField = dtName.Columns["DisplayMember"].ToString();
Userlist.DataValueField = dtName.Columns["ValueMember"].ToString();
Userlist.DataBind();
}
}
2) 看法
.
您的应用程序描述页面。
使用此区域可提供其他信息
函数validateUser(){
var selItem=document.getElementById(“MainContent\u Userlist”)。选择索引;
如果(selItem==-1){
window.alert(“您必须首先选择左侧的项目。”)
}否则{
document.getElementById(“ToChoose”).add(document.getElementById(“MainContent\u Userlist”)[selItem],null);
}
}
问题是?。说得好,对不起,我忘了提这个了。问题是为什么我不能从Userlist中将此选定项插入到Choose?当我在网上尝试时,这些功能正在运行。你可以在这里查看:非常感谢。我唯一缺少的是将主要内容添加到用户列表之前。你救了我的命。祝你一切顺利:)
string mycommand = "SELECT [id], [username] FROM [users]";
SqlDataAdapter x = new SqlDataAdapter(mycommand, ConnectionString);
DataSet ds = new DataSet();
x.Fill(ds, "users");
DataTable dt = ds.Tables[0];
Userlist.DataSource = dt;
Userlist.DataTextField = "username";
Userlist.DataValueField = "username";
Userlist.DataBind();
public partial class About : Page
{
protected void Page_Load(object sender, EventArgs e)
{
DataTable dtName = new DataTable();
//Add Columns to Table
dtName.Columns.Add(new DataColumn("DisplayMember"));
dtName.Columns.Add(new DataColumn("ValueMember"));
//Now Add Values
dtName.Rows.Add("Suits", "0");
dtName.Rows.Add("Harvey Spector", "1");
dtName.Rows.Add("Jessica Pearson", "2");
dtName.Rows.Add("Mike Ross", "3");
dtName.Rows.Add("Donna Paulson", "4");
dtName.Rows.Add("Rachel", "5");
//Bind data to Userlist
Userlist.DataSource = dtName;
Userlist.DataTextField = dtName.Columns["DisplayMember"].ToString();
Userlist.DataValueField = dtName.Columns["ValueMember"].ToString();
Userlist.DataBind();
}
}
<%@ Page Title="About" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="About.aspx.cs" Inherits="WebFormSample.About" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<h2><%: Title %>.</h2>
<h3>Your application description page.</h3>
<p>Use this area to provide additional information.</p>
<select id="Userlist" name="cars" runat="server" multiple="true" style="width: 270px; height: 200px;">
</select>
<select id="ToChoose" name="cars" multiple="multiple" style="width: 270px; height: 200px;"></select>
<input id="ButtonAddUsers" onclick="return validateUser();" type="button" value="Add" />
<script>
function validateUser() {
var selItem = document.getElementById("MainContent_Userlist").selectedIndex;
if (selItem == -1) {
window.alert("You must first select an item on the left side.")
} else {
document.getElementById("ToChoose").add(document.getElementById("MainContent_Userlist")[selItem], null);
}
}
</script>
</asp:Content>