Ajax使用选项组填充SelectList

用户名

我可以使用Ajax为使用选项组填充SelectList提供一些帮助吗?

我已正确编码添加项目,但是不确定如何添加选项组。

这是有效的我的Ajax代码:

var category = $(this).val();

$.ajax({
    type: "POST",
    async: true,
    url: '/TestController/Test',
    data: {
        'category': category
    },
    dataType: "json",
    error: function () {

    },
    success: function (data) {
        $("#fileId").empty();

        $.each(data, function () {
            $("#fileId").append($("<option />").val(this.Value).text(this.Text));
        });
    }
});

这是被调用的函数:

public async Task<string> Test(string category)
{
    var items = new List<SelectListItem>();
    items.Add(new SelectListItem() { Value = "1", Text = "Item 1" });
    items.Add(new SelectListItem() { Value = "2", Text = "Item 2" });
    items.Add(new SelectListItem() { Value = "3", Text = "Item 3" });

    return new JavaScriptSerializer().Serialize(items);
}

我现在想将选项组添加到SelectList。

这是正在使用选项组调用的新函数:

public async Task<string> Test(string category)
{
    var Group1 = new SelectListGroup() { Name = "Group 1" };
    var Group2 = new SelectListGroup() { Name = "Group 2" };

    var items = new List<SelectListItem>();
    items.Add(new SelectListItem() { Value = "1", Text = "Item 1", Group = Group1 });
    items.Add(new SelectListItem() { Value = "2", Text = "Item 2", Group = Group2 });
    items.Add(new SelectListItem() { Value = "3", Text = "Item 3", Group = Group2 });

    return new JavaScriptSerializer().Serialize(items);
}

如何使用第一个示例中的方式填充SelectList,但使用选项组?

提前致谢。

编辑

我需要将组项目缩进为与下图相同的图片(忽略项目和组名):

缩进

这是需要输出的正确的HTML代码:

<optgroup label="Public">
<option value="1">Green - test.png</option>
<option value="3">Yellow - test.png</option>
</optgroup>
<optgroup label="User">
<option value="5">Yellow534x300.png</option>
</optgroup>
</select>

@Rory McCrossan:您的代码输出以下内容:

<optgroup label="Group 1"></optgroup><option value="1">Item 1</option><optgroup label="Group 2"></optgroup><option value="2">Item 2</option><option value="3">Item 3</option></select>
罗里·麦克罗森(Rory McCrossan)

如果存储以前的组名,则可以在值更改时添加新组。像这样:

success: function(data) {
    $("#fileId").empty();
    var $prevGroup, prevGroupName;
    $.each(data, function () {
        if (prevGroupName != this.Group.Name) {
            $prevGroup = $('<optgroup />').prop('label', this.Group.Name).appendTo('#fileId');
        }
        $("<option />").val(this.Value).text(this.Text).appendTo($prevGroup);
        prevGroupName = this.Group.Name;
    });
});

小提琴的例子

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ajax使用选项组填充SelectList

来自分类Dev

未使用ViewBag填充SelectList

来自分类Dev

使用Ajax和Django填充SELECT选项

来自分类Dev

Kendo MVC如何在初始SelectList之后使用AJAX重新填充下拉列表?

来自分类Dev

如何使用存储过程填充Selectlist

来自分类Dev

如何使用Controller Create Action中的状态填充SelectList

来自分类Dev

用for循环填充SelectList

来自分类Dev

用于AJAX的Capybara :: ElementNotFound填充了<select>选项

来自分类Dev

在Spring MVC环境中使用查询用ajax调用的结果填充列表框选项。

来自分类Dev

在使用ajax填充select时,没有选定的默认选项的问题

来自分类Dev

Knockout.js:从使用ajax调用填充的选择中获取选项文本

来自分类Dev

动态填充多个(多个)下拉选项/选项(Flask,python,Ajax)

来自分类Dev

用父/子表填充SelectList

来自分类Dev

用JavaScript CSHTML填充SelectList

来自分类Dev

使用AJAX调用ASP页面,然后使用从页面返回的JSON数据填充带有选项的选择框

来自分类Dev

Laravel使用输入组填充表单

来自分类Dev

使用子组中的填充值填充NA值

来自分类Dev

使用Ajax填充选择框

来自分类Dev

使用Ajax填充HTML容器

来自分类Dev

使用Ajax从数组填充文本

来自分类Dev

无法使用Ajax填充DropDownList

来自分类Dev

下拉选项未使用JSON填充

来自分类Dev

如何使用Angular填充选择ng选项

来自分类Dev

使用骨干模型填充选择字段的选项

来自分类Dev

反应-使用Redux状态填充首选选项

来自分类Dev

如何使用选项填充动态创建的选择

来自分类Dev

尝试使用提取填充选项dropdow组件

来自分类Dev

使用for循环填充选择选项

来自分类Dev

使用jQuery填充选择选项失败

Related 相关文章

热门标签

归档