我有大型服务器端绑定下拉列表,其项目类似如下:
当我更改每个项目的状态而不是立即从服务器端重新绑定列表时,我只想更新所选的项目文本,直到用户再次重新加载该页面。
我通过ajax调用服务来执行服务器端工作,我希望在成功时进行此更改,但无论我对下拉列表做什么都不会影响它。
这是我遇到问题的部分:
Public Sub Initialize_Object(ByRef TaskObject, Task_Collection)
Dim Task_begin As Variant, Method_Parameters As Variant
Task_begin = Task_Collection("Method")
CallByName TaskObject, Task_begin, VbMethod, Method_Parameters
这是下拉列表的HTML代码:
$.ajax('/services/area/somefunction', {
type: 'POST',
data: {
Id: id
},
success: function (xhr, message, error) {
//do various stuff and then update dropdown
$("option:selected", ddl).text('test');
},
error: function (xhr, message, error) {
// alert user of error
}
});
return false;
};
以及其他一些jquery部分以获取更多信息:
<asp:DropDownList ID="ddl_items" runat="server" ClientIDMode="Static" CssClass="chosen-select"></asp:DropDownList>
关于更改ddl
// Initialiser
CustomStuff.Init = function () {
ddl = document.getElementById('ddl_items');
$(ddl).on('change', getInfoForItem);
}
我已经尝试更改下拉列表和.html的索引但似乎没有任何效果。 我在成功中显示和隐藏各种div并且有效,但为什么我似乎无法更改下拉项目文本?