【问题标题】:Getting Selected values from Jquery multiselct in asp.net在 asp.net 中从 Jquery 多选中获取选定的值
【发布时间】:2011-11-26 12:03:51
【问题描述】:

查看并找到链接断开或对我不起作用的解决方案,表示我正在使用此处找到的多选 http://abeautifulsite.net/blog/2008/04/jquery-multiselect/ 当我点击按钮以在 c# 中使用它们时,我需要获取选中的复选框,我是完全停留在这一点上,演示中使用的示例是 php :-(

JQuery:

  $(document).ready(function () {
        $("#EGM").multiSelect({ selectAll: false, oneOrMoreSelected: '*' });
    });

控制:

 <select id="EGM" multiple="multiple" style="width: 100px;">
        <optgroup label="EGM">
         <option>data</option>           
        <option>driven</option>           
        <option>dropdown</option>      
        </optgroup>
        <optgroup  label="System Type">SystemType
         <option>data</option>          
         <option>driven</option>           
         <option>dropdown</option>          
         </optgroup>            
         </select>

我需要在后面的代码中选择我的值:

  protected void SubmitButton_Click(object sender, EventArgs e)
{

     //what goes here?!?

}

【问题讨论】:

  • 你说的是“控制”。该 HTML 是控件生成的 HTML 还是您手动编写的?
  • 还有另一个帖子有同样的问题stackoverflow.com/questions/2700010/…
  • @AgamandTheTrue,正如我所提到的,我已经在这里检查过了,如果您转到您的链接并查看所选答案,您可以看到提供的链接已损坏,如我的第一句中所述题。我真的会在发帖之前尝试找到。

标签: c# jquery asp.net multi-select


【解决方案1】:

执行此操作的正确方法是将&lt;select ...&gt; 更改为&lt;asp:ListBox ...&gt; 并将您的脚本更新为

$(document).ready(function() {
    $('#<%=this.EGM.ClientID%>').multiSelect(...);
});

但是&lt;asp:ListBox&gt; 控件本身并不支持optgroup 内部元素。有一些使用 ControlAdapters 的解决方法(请参阅:Dropdownlist control with <optgroup>s for asp.net (webforms)? - VB.NET)。使用它,您可以直接访问 ListItems。

也就是说,一种不太合适但耗时更少的方法,您也可以通过在 multiSelect 初始化程序中指定回调方法并在后面的代码中枚举数组来将 $('#EGM').val() 转储到 &lt;asp:HiddenField&gt; 中。

【讨论】:

  • 不需要 opt 组,我愿意将它一分为二。我明天会试试这个,如果它有效,我会将它标记为已接受。谢谢!
  • 没有骰子:-(我猜多选只适用于选择元素。
  • 我在 5 分钟前刚刚把它扔到了一个隐藏的地方,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-05
  • 1970-01-01
  • 2023-04-01
  • 2019-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多