如何在ajax post动作后阻止重置选择框?

时间:2018-01-05 01:27:22

标签: javascript jquery ajax post

我希望在AJAX POST之后选择我选择的选项。

目前我正在手动完成工作。

我把OnChange的值放在HiddenField中,

在执行AJAX POST后,重新插入在" ddlUserCont"中选择的值。

 <select id="ddlUserCont" onchange="ddlUserCont_Onchange(this);"></select>

 function ddlUserCont_Onchange(obj) {
    document.getElementById("<%=hidSelddlUserCont.ClientID %>").value = obj.value;
 }

- &GT;在AJAX POST动作之后..

 function btnTest_Click() {
 // ... Some logic

 $.ajax({
     type: "POST",
     cache: false,
     url: "../../WebServices/WebService.asmx/GetTest",
     data: jsonData,
     contentType: "application/json; charset=utf-8",
     dataType: "json",
     success: function (data) {
         OnSuccess_GetTest(data, sTestVal);
     },
     error: function (request, status, error) {
         console.log("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error);
     }
 });
 }

 function OnSuccess_GetTest(response, sTestVal) {

     var items = response.d;

     // ... Some logic

     var sSelPageName = document.getElementById("<%=hidSelddlUserCont.ClientID %>").value;
     document.getElementById("ddlUserCont_" + sSelPageName).selected = "true";

 }

我是否使用UpdatePanel?

1 个答案:

答案 0 :(得分:0)

为什么要重置?页面正在重新加载?或者是其他一些脚本重置它?

function OnSuccess_GetTest(response, sTestVal) {

     var items = response.d;

     // ... Some logic

     var sSelPageName = document.getElementById("<%=hidSelddlUserCont.ClientID %>").value; // get the value from the hidden field
     document.getElementById("ddlUserCont).value = sSelPageName; // set it on the select options element

 }

确保select当前option子元素与value=<sSelPageName>一致。