2010-07-26 51 views
0

如何添加从dropdownlist中选择的任何用户到使用JQuery的列表框?当我发布页面时,我应该能够从列表框中检索“id,name”使用JQuery将项目从Dropdownlist添加到ListBox

<asp:DropDownList ID="ddlPerson" DataSourceID="ods_person" 
       DataValueField="Id" DataTextField="Name" runat="server" Width="221px" /><br /> 

       <asp:ListBox ID="lstPerson" runat="server" Width="245px" 
       Font-Bold="true" ForeColor="Green" SelectionMode="Multiple"> 
       </asp:ListBox> <br> 

回答

0

要将项目添加到下拉列表,但你可以使用下面的脚本

<script type="text/javascript"> 
    $(function() 
    { 
     $('[id$=items]').change(function (e) 
     { 
      var option = $('<option/>').html($(e.currentTarget).val()); 
      $('[id$=listBox]').append(option); 
     }); 
    }); 
</script> 

你会遇到的一个问题。添加到列表框的项目将不会被保存回服务器上的列表框的“项目”中。您需要将这些值添加到客户端的隐藏字段中,并将服务器上的值分开。

+0

我看到问题,但我也看到删除项目的问题,我有一个情况,用户可以从列表框中“添加”或“删除”。有没有更好的方法,或者我应该使用ajax更新面板? ;) – 2010-07-26 14:39:09

+0

我敢肯定,有一堆jQuery插件可以做到这一点,因为它是一个非常常见的UI功能。查看jquery插件网站@ http://plugins.jquery.com/ – 2010-07-26 14:45:15

+0

它比我想象的更痛苦...应该有一种方法...你想要我寻找什么插件? – 2010-07-26 15:22:43

0

当您的asp.net下拉列表控件呈现时,它看起来不会相同。您需要首先运行该页面以查看要选择的ID。然后使用$(“#ddlPerson ...”).val()和.text()方法来访问数据。

+0

下拉列表我得到 - ctl00 $ cphMaster $ ddlPerson – 2010-07-26 14:10:43

+0

列表框我得到 - ctl00_cphMaster_lstPerson – 2010-07-26 14:11:10

+0

这应该有所斩断。 $( “#$ ctl00 $ cphMaster ddlPerson”)变化(函数(){VAR = newOption新选项($(本)的.text(),$(本)的.text()); $ (“#ctl00_cphMaster_lstPerson”)。append(newOption); }); – Zacho 2010-07-26 19:47:01