基于Selected List对ListBox进行排序

时间:2016-03-08 17:22:18

标签: c# jquery html asp.net-mvc

我想根据我的下拉列表的选定值对我的列表框进行排序, 有没有办法用Jquery或Javascript做到这一点?

这是我的查看列表框和选定列表:

 <select id="sel2">
 <option value="">Todos</option>
 <option value="COMIDAS">COMIDAS</option>
 <option value="DESAYUNOS">DESAYUNOS</option>
 <option value="CENAS">CENAS</option>
 </select>

 <select id="Group" multiple="multiple" name="Group" style="width: 300px;">
 <option>{ Turno = CENAS, Total = $57,410.00 }</option>
 <option>{ Turno = COMIDAS, Total = $151,571.00 }</option>
 <option>{ Turno = DESAYUNOS, Total = $58,994.00 }</option>
 </select>
                                             

我的列表框在Viewbag

的ServerSide页面加载之前填充

控制器上的ViewBag

foreach (var item in db.Pos.Where(r => r.Fecha.Day <= today.Day).Select(v => new { Rid = v.Rid, Total = v.Total })
 .GroupBy(l => l.Rid).AsEnumerable().Select(z => new {Turno=z.Key, Total = String.Format("{0:$#,##0.00;($#,##0.00);Zero}",Decimal.Round(z.Sum(l => l.Total), 0) )}))
        {

            listadesumas.Add(item.ToString());
            //listadesumas.Add(Selected);          
        }

        var grupos = new SelectList(listadesumas.ToList());
        ViewBag.Group = grupos;

Viewbag on View:

@Html.ListBox("Group", (IEnumerable<SelectListItem>)ViewBag.Group, new { style = "width: 300px;" })

2 个答案:

答案 0 :(得分:1)

使用Jquery根据第一个下拉选择

对下拉列表进行排序
import numpy as np

tempDF['int_measure'] = tempDF['measure'].apply(np.floor)

    id  measure  int_measure
0   12      3.2            3
1   12      4.2            4
2   12      6.8            6
...
9   51      2.1            2
10  51      NaN          NaN
11  51      3.5            3
...
19  91      7.3            7

此外,您需要将第一个下拉列表中的相同值添加到第二个下拉列表,因为我看到您的第二个下拉列表没有值。

答案 1 :(得分:0)

使用JQuery或JavaScript,在下拉列表中设置一个on-change事件处理程序。

在事件处理程序中,检查所选值并使用条件语句重新排列列表框中的项目。

Here is an example of how to set an event handler for a drop-down list using JQuery.

Here is an example of how to sort the contents of a select box.