public static MvcHtmlString JQM_SelectMenu(this HtmlHelper htmlHelper, string name, string label, MultiSelectList values, string optionLabel = null, SelectMenuConfig config = null) { TagBuilder tagResult = new TagBuilder("div"); tagResult.MergeAttribute("class", "ui-field-contain"); if (config == null) { config = new SelectMenuConfig(); } tagResult.InnerHtml += LabelExtensions.Label(htmlHelper, "", label).ToHtmlString(); tagResult.InnerHtml += SelectExtensions.DropDownList(htmlHelper, name, values, optionLabel, (config != null) ? config.GetAttributes() : null).ToHtmlString(); return(tagResult.ToHtml()); }
public static MvcHtmlString JQM_SelectMenuGroupedFor <TModel, TProperty>(this HtmlHelper <TModel> htmlHelper, Expression <Func <TModel, TProperty> > expression, IEnumerable <GroupedSelectListItem> selectList, string optionLabel = null, SelectMenuConfig config = null) { TagBuilder tagResult = new TagBuilder("div"); tagResult.MergeAttribute("class", "ui-field-contain"); if (config == null) { config = new SelectMenuConfig(); } tagResult.InnerHtml += LabelExtensions.LabelFor(htmlHelper, expression).ToHtmlString(); tagResult.InnerHtml += HtmlHelpers.DropDownGroupListFor(htmlHelper, expression, selectList, optionLabel, (config != null) ? config.GetAttributes() : null).ToHtmlString(); tagResult.InnerHtml += ValidationExtensions.ValidationMessageFor(htmlHelper, expression).ToHtmlString(); return(tagResult.ToHtml()); }
public static MvcHtmlString JQM_SelectMenu(this HtmlHelper htmlHelper, SelectMenuConfig config, MultiSelectList values) { TagBuilder selectTag = new TagBuilder("select"); foreach (var item in values) { var optionTag = new TagBuilder("option"); optionTag.MergeAttribute("value", item.Value); optionTag.SetInnerText(item.Text); if (item.Selected) { optionTag.MergeAttribute("selected", "true"); } selectTag.InnerHtml += optionTag.ToString(); } config.SetAttributes(selectTag); return(new MvcHtmlString(selectTag.ToString(TagRenderMode.SelfClosing))); }
public static MvcHtmlString JQM_GroupedSelectMenu(this HtmlHelper htmlHelper, SelectMenuConfig config, List <CustomSelectListItem> values) { TagBuilder selectTag = new TagBuilder("select"); config.IsMultiple = true; foreach (var item in values) { var optgroupTag = new TagBuilder("optgroup"); optgroupTag.MergeAttribute("label", item.Text); foreach (var option in item.Children) { var optionTag = new TagBuilder("option"); optionTag.MergeAttribute("value", item.Value); optionTag.SetInnerText(item.Text); if (item.Selected) { optionTag.MergeAttribute("selected", "true"); } optgroupTag.InnerHtml += optionTag.ToString(); } selectTag.InnerHtml += optgroupTag.ToString(); } config.SetAttributes(selectTag); return(new MvcHtmlString(selectTag.ToString(TagRenderMode.SelfClosing))); }