gpt4 book ai didi

javascript - ASP.NET - 使用 JS 设置 DropDownList 的值和文本属性

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

我的 ASCX 页面中有一个下拉列表控件。

<asp:DropDownList ID="demoddl" runat="server" onchange="apply(this.options[this.selectedIndex].value,event)" onclick="borderColorChange(this.id, 'Click')" onblur="borderColorChange(this.id)" CssClass="dropDownBox" DataTextField="EmpName" DataValueField="EmpID">

我的目标是使用“EmpID”作为值属性和“EmpName”作为文本属性填充此下拉列表。

获取这些“EmpName”和“EmpID”值的 JS 代码如下:

$(document).ready(function () 
{
loadSavedFreeTextSearchCombo();
}


function loadSavedFreeTextSearchCombo() {

var params = {
loginID: $('#loginID').val()
};

var paramsJSON = $.toJSON(params);

$.ajax({
type: "POST",
url: _WebRoot() + "/Ajax/EmpDetails.asmx/GetEmp",
data: paramsJSON,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#demoddl').empty();
$('#demoddl').append($("<option></option>").val(0).html("--Employee Names --"));
$.each(data.d, function (index, value) {
$('#demoddl').append($("<option></option>").val(value.EmpID).html(value.EmpName));
});

},
error: function () {
showError("Failed to load Saved Search Data!");

}
});

}

尽管整个代码运行没有任何错误(EmpDetails.asmx 方法成功返回有效数据),但 dropdwonlist 并未填充所需的返回数据。

我做错了什么?我猜我的“成功”事件代码有问题

最佳答案

因为您打算使用DropDownList服务器控制ID作为选择器,需要设置ClientIDMode="Static" ,特别是如果您使用 <asp:ContentPlaceHolder><asp:Content>防止 ASPX 引擎创建 <select>元素为 id包含下拉列表占位符名称的属性:

<asp:DropDownList ID="demoddl" runat="server" ClientIDMode="Static"
onchange="apply(this.options[this.selectedIndex].value,event)"
onclick="borderColorChange(this.id, 'Click')"
onblur="borderColorChange(this.id)"
CssClass="dropDownBox" DataTextField="EmpName" DataValueField="EmpID">

如果您无法使用ClientIDMode="Static"出于某些原因(例如 avoiding multiple <select> elements with same ID ),请使用 ClientID控件的属性作为选择器,即 <%= demoddl.ClientID %> :

$.ajax({
type: "POST",
url: _WebRoot() + "/Ajax/EmpDetails.asmx/GetEmp",
data: paramsJSON,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$('#<%= demoddl.ClientID %>').empty();
$('#<%= demoddl.ClientID %>').append($("<option></option>").val(0).html("--Employee Names --"));

// recommended to check against undefined here
$.each(data.d, function (index, value) {
$('#<%= demoddl.ClientID %>').append($("<option></option>").val(value.EmpID).html(value.EmpName));
});

},
error: function () {
showError("Failed to load Saved Search Data!");
}
});

关于javascript - ASP.NET - 使用 JS 设置 DropDownList 的值和文本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52353417/

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