gpt4 book ai didi

ajax - 如何使用 mvc 4 用 Ajax 结果填充 Html.Listbox

转载 作者:行者123 更新时间:2023-12-01 03:40:55 25 4
gpt4 key购买 nike

在我的 MVC 4 应用程序中,我想用 Ajax 结果填充 Html.LisboxFor。

我的观点: @using (Html.BeginForm("UpdatePriority", "优先级", FormMethod.Post)) {

    @Html.Hidden("myListBoxValuesValues")

<div class="row">

<div class="col-md-2">
<label>FA:</label>
@Html.ListBoxFor(m => m.FA, new MultiSelectList(@Model.FA), new { @class = "lbx_FA" })
</div>

<div class="col-md-1">
<input id="btnAdd" type="button" value=" > " onclick="addItem();" />
</div>

<div class="col-md-2">
<label>CEID list:</label>
@Html.ListBoxFor(model => model.CEIDs, new MultiSelectList(Model.CEIDs), new { @class = "lbx_CEIDs" })
</div>

...and so on..

我的 Controller 函数(返回 json 模型的字符串):

public string getCeidPerFA(string FA)
{
return unitOfWork.ToolRequiredRepository.getCEIDsPerFA_Scenario(DAL.UnitOfWork.Scenario, FA);
}

存储库功能:

internal string getCEIDsPerFA_Scenario(string scenario, string FA)
{
//create the result list (FAs):

List<string> FAs = FA.Split(',').ToList();

var CEIDs = from row in context.ToolRequireds
where row.Scenario == scenario && FAs.Contains(row.FA)
select row.CEID;

List<string> lst = CEIDs.Distinct().ToList();

//create Json Result:

List<SelectListItem> items = new List<SelectListItem>();

foreach (var ceid in lst)
{
items.Add(new SelectListItem { Text = ceid, Value = ceid });
}


return Json.Encode(items);
}

我的脚本:

   function addItem() {

var result = "";

var x = document.getElementById("FA");
for (var i = 0; i < x.options.length; i++) {
if (x.options[i].selected == true) {
result += x.options[i].value + ",";
}
}

result = result.substring(0, result.length - 1);

$.ajax({

url: "@(Url.Action("getCeidPerFA", "CeidSelection"))",

data: { "FA": result },

success: function (data) {


if (data.length > 0) {
JSON.pa
$("#CEIDs").append(JSON.parse(data));
}
else
alert("No Result");
},

error: function (xhr) {

alert("Something went wrong, please try again");

}

});
}

我的代码是错误的,但我不知道该怎么做。任何帮助将不胜感激。

最佳答案

像这样循环数据结果

$('#CEIDs').empty();
$.each($(data), function(key, value) {
$('#CEIDs').append('<option value=' + key + '>' + value + '</option>');
});

关于ajax - 如何使用 mvc 4 用 Ajax 结果填充 Html.Listbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20592998/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com