使用javascript asp.net将listbox数据传输到另一个listbox

listbox data transfer to another listbox using javascript asp.net

本文关键字:listbox 数据传输 另一个 javascript asp net 使用      更新时间:2023-09-26

您知道如何将数据从列表框传输到另一个列表框吗?我做了一个,但它没有停止提交,尽管我使用了一个功能来阻止它提交。

你可以在本节中查看我以前的问题取消提交代码不工作

这个问题还没有解决,尽管很少有人帮助我,我尝试了他们所有的建议和建议,但我总是得到同样的结果,所以我决定问你们是否有人可以使用javascript来做到这一点。

我试着使用一个,但它不起作用,因为函数是for的,我正在使用LISTBOX,所以我想这就是为什么我是ASP.net C#javascript的新手,所以我不能更改代码,因为。。。不是英语:-D希望你能帮我更改代码?

以下是javascript 的代码

<script type="text/javascript">

 function Listbox_transfer(Listbox_Orig, Listbox_Move) {
     var moved = new Array();
     var count = 0;
     for (var item = 0; item < Listbox_Move.options.length; item++) 
     {
         if (Listbox_Move.options[item].selected) {
             var temp = document.createElement("OPTION");
             temp.text = Listbox_Move.options[item].text;
             temp.value = Listbox_Move.options[item].value;

             var index = 0;
             var currOpn;
             while (index < Listbox_Orig.options.length && temp.text > Listbox_Orig.options[index].text)
             {
                 index++;
             }
             if (index < Listbox_Orig.options.length) 
             {
                 currOpn = Listbox_Orig.options[index];
             }

             else 
             {
                 currOpn = null;
             }
             try 
             {
                 Listbox_Orig.Listbox_transfer(temp, currOpn);
             }
             catch (ex) 
             {
                 Listbox_Orig.Listbox_transfer(temp, index);
             }
             moved[count] = Listbox_Move.options[item].value;
             count++;
         }
     }
     if (moved.length > 0) 
     {
         remove(Listbox_Move, moved);
     }
 }
 function remove(Listbox_OrigRemoveFrom, items) 
 {
     for (element in items) {
         var index = 0;
         while (index < Listbox_OrigRemoveFrom.options.length &&
            Listbox_OrigRemoveFrom.options[index].value != items[element]) 
            {
             index++;
         }
         Listbox_OrigRemoveFrom.remove(index);
     }
 }
 function addAll(Listbox_Orig, Listbox_Move) 
 {
     var moved = new Array();
     var count = 0;
     for (var item = 0; item < Listbox_Move.options.length; item++) 
     {
         var temp = document.createElement("OPTION");
         temp.text = Listbox_Move.options[item].text;
         temp.value = Listbox_Move.options[item].value;

         var index = 0;
         var currOpn;

         while (index < Listbox_Orig.options.length && temp.text > Listbox_Orig.options[index].text) {

             index++;
         }

         if (index < Listbox_Orig.options.length) {

             currOpn = Listbox_Orig.options[index];
         }

         else {
             currOpn = null;
         }
         try {
             Listbox_Orig.Listbox_transfer(temp, currOpn);
         }
         catch (ex) {
             Listbox_Orig.Listbox_transfer(temp, index);
         }
     }
     removeAll(Listbox_Move);
 }
 function removeAll(list) {
     for (var count = list.options.length; count >= 0; count--) {
         list.remove(count);
     }
 }
 function selectAll(Listbox_OrigSelect1, Listbox_OrigSelect2) {
     for (var count = 0; count < Listbox_OrigSelect1.options.length; count++) {
         Listbox_OrigSelect1.options[count].selected = true;
     }
     for (var count = 0; count < Listbox_OrigSelect2.options.length; count++) {

         Listbox_OrigSelect2.options[count].selected = true;
     }
 }

我正在使用输入按钮

<input id="toTheRightButton" type="button" value=">>>" class="button button-primary" onclick="Listbox_transfer(this.form.ListBox3, this.form.ListBox2)"/>
                    

下面是我试图复制的演示的全部代码

<html>
<head>
    <title>Lisbox Demo</title>
    <script type="text/javascript" src="Listbox.js"></script>
</head>
<body>
    <form method="post">
        <table style="text-align: center" border="0">
            <tr><td><strong>List 1:</strong><br/>
                    <select size="15" name="list1[]" id="list1" style="width: 350px" multiple="multiple">
                        <option value="1">Option 1</option>
                        <option value="2">Option 2</option>
                        <option value="3">Option 3</option>
                        <option value="4">Option 4</option>
                        <option value="5">Option 5</option>
                        <option value="6">Option 6</option>
                    </select></td>
                <td>
                    <br/>
                    <input type="button" value=">>" onClick="add(this.form.list2, this.form.list1)"/>
                    <br/><br/>
                    <input type="button" value="<<" onClick="add(this.form.list1, this.form.list2)"/>
                    <br/><br/>
                    <input type="button" value="All >>" onClick="addAll(this.form.list2, this.form.list1)"/>
                    <br/><br/>
                    <input type="button" value="All <<" onClick="addAll(this.form.list1, this.form.list2)"/>
                    </td>
                <td><strong>List 2:</strong><br/>
                    <select size="15" name="list2[]" id="list2" style="width: 350px" multiple="multiple">
                    </select></td></tr>
        </table>
        <p>&nbsp;</p>
        <p><select name="list3" size="14" multiple>
        <option value="0">selection1</option></select>&nbsp;</p>
    </form>
</body>

如您所见,代码用于选项列表。。不适用于asp.net的列表框:-(希望你能帮我谢谢你。

以下函数用于单个项目。您可以为所有项目修改它,也可以通过传递listbox-id作为参数使其成为单个:

 function Add() {
                var selectedItem = $("#lbAvailable > option:selected");
                if (selectedItem.length > 0) {
                    selectedItem.remove().appendTo("#lbSelected");
                    $("#lbAvailable option:first-child").attr("selected", true);
                    $("#lbSelected option:last-child").attr("selected", true);
                }
                else {
                    alert("Select item");
                }
            }
    function Remove() {
                var selectedItem = $("#lbSelected > option:selected");
                if (selectedItem.length > 0) {
                    selectedItem.remove().appendTo("#lbAvailable");
                    $("#lbAvailable option:first-child").attr("selected", true);
                    $("#lbSelected option:last-child").attr("selected", true);
                }
                else {
                    alert("Select item");
                }
            }
 function AddAll() {
            $("#lbAvailable option").each(function () {
                this.remove().appendTo("#lbSelected");
            });
        }
 function RemoveAll() {
            $("#lbSelected option").each(function () {
                this.remove().appendTo("#lbAvailable");
            });
        }