我有一个下拉列表,它从模型中获取它的值并首先填充。点击该下拉列表,我使用AJAX填充其他值。我可以填充下拉菜单,但是一旦我从下拉列表中选择了一个选项,它就会重置为下拉菜单中的第一个值。我想要的是点击后填充一次,然后像普通下拉菜单一样运行。我如何为它提供条件?未保留下拉值
这是最初与定义的值“field.Value”
ddlValue = "<option value="+field.Value+ " selected='selected'>" + field.Value+"</option>";
<td><select id='@String.Format("selValue{0}", field.Field)' class='ddlValue'>@Html.Raw(ddlValue)</select></td>
设置下拉值的代码而这正是AJAX函数对其进行填充。
$('body').on('click', '.ddlValue', function() {
var target = event.target.id;
var rowId = $('#' + target).closest("tr").prop("id");
var field = $('#' + rowId).find(".fieldvalue").html();
$.ajax({
cache: false,
url: '@Url.Action("PopulateDropdown", "AdvancedSearch")',
type: "POST",
data: { Field: field }
}).done(function (data) {
var listb = $('#' + target);
listb.empty();
$.each(data.value, function (index, value) {
listb.append($('<option>', {
value: value,
text: value
}, '<option/>'))
});
});
});
你试图让下拉填充本身? – FailedUnitTest
@FailedUnitTest我只用一个值填充下拉列表。当有人在下拉菜单中出现问题时,我使用点击功能来填充剩下的内容。 – TheFallenOne
鉴于提供的代码,描述的行为似乎是合理的。每次点击下拉列表时,单击的下拉列表将被清空并重新填充。这不是你想要的吗? – tpdietz