我有一個下拉列表,它從模型中獲取它的值並首先填充。點擊該下拉列表,我使用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