将jqueryui选定的列表项传递给后面的代码

时间:2012-10-04 07:20:18

标签: c# .net jquery-ui code-behind jquery-ui-selectable

我正在使用我网站上的jquery ui selectable插件。我在同一页面上有近7个不同的列表和多个选择,都使用上面的插件。

用户选择特定的列表项后......如何将这些选定的项目传递回代码隐藏?

这就是我在页面上显示我的列表的方式......

<div>
  <ol class="selectable" id="wlList" runat="server" clientidmode="static">
  </ol>
</div>

这就是我在后面的代码中从数据库生成列表项的方法......

    wl.ToList();
    foreach (var w in wl)
    {
        HtmlGenericControl li = new HtmlGenericControl("li");
        li.Attributes.Add("class", "ui-widget-content");
        li.Attributes.Add("value", w.UserID.ToString());
        li.InnerText = w.FirstName;
        wlList.Controls.Add(li);

    }    

感谢帮助

1 个答案:

答案 0 :(得分:0)

一种可能的方法是将选定的值存储在隐藏的输入中,然后简单地在服务器上读取和解析其值。

选中基于fiddlejQuery UI Selectable Serialize Demo

您需要的是在表单中添加隐藏的输入:

<input type="hidden" id="wlListValue" name="wlListValue" />

然后实现这样的可选变更处理程序:

$('.selectable').selectable({
    stop: function(event, ui) {
        var result = '';
        $(".ui-selected", this).each(function() {
            result += $(this).val() + ';';
        });
        $('#wlListValue').val(result);
    }
});

然后在回发后只读取选定的值:

var selectedValues = Request["wlListValue"].Split(";".ToCharArray(), 
                                    StringSplitOptions.RemoveEmptyEntries);