Выпадающий список Выбранное значение сбрасывается в PostBack при отключении с JQuery

0

У меня есть эта проблема, когда, если я отключу элемент управления с JQuery в событии.change выпадающего списка, элемент управления будет сброшен до состояния по умолчанию.

У меня есть следующий код:

ASP.NET:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>

</head>

<script type='text/javascript' src="/jquery-1.11.0.min.js"></script>
<body>
<form id="form1" runat="server">
<div>
    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">
    <asp:ListItem Value="1">Item1</asp:ListItem>
    <asp:ListItem Value="2">Item2</asp:ListItem>
    </asp:DropDownList>
</div>
</form>
</body>

<script type="text/javascript">
$("#DropDownList1").change(function () {

    $("#DropDownList1").attr("disabled", "disabled");

});
</script>
</html>

Код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class _default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}

Таким образом, с помощью этого кода, если вы переключите выбранный элемент из DropDownList1 он будет сброшен на PostBack до состояния по умолчанию. Если элемент управления не отключен с помощью JQuery, он не сбрасывает элемент управления.

Любые идеи, как сделать так, чтобы он сохранял свою ценность в PostBack, будучи отключенным?

  • 0
    Что нужно, отменить постбэк?
  • 0
    Вероятно, вам нужно будет сохранить текущее состояние JavaScript в объекте sessionstate и вспомнить его при обратных передачах.
Показать ещё 3 комментария

1 ответ

0

Вы можете удалить Autopostback="True" чтобы не было никаких обратных передач.

<asp:DropDownList ID="DropDownList1" runat="server">
    <asp:ListItem Value="1">Item1</asp:ListItem>
    <asp:ListItem Value="2">Item2</asp:ListItem>
    </asp:DropDownList>

Autopostback="True" устанавливается всякий раз, когда вам нужно что-то делать по коду, когда вы меняете выпадающий объект.

Попробуйте отключить это.

$("#DropDownList1").attr("disabled", true);
  • 0
    Спасибо за быстрый ответ. Моему требованию нужно, чтобы этот выпадающий список делал пост обратно. Единственное, что я пытаюсь сделать, это временно отключить выпадающий список до того, как публикация будет выполнена. Я просто не понимаю, почему выпадающий список сохраняет свое значение, когда он не отключается перед отправкой назад.
  • 0
    Отредактировал ответ .. Пожалуйста, попробуйте отключить раскрывающийся список, как этот метод, С уважением ..
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню