Как вызвать функцию JS при выборе данных в <input type = "text"> из списка AUTOCOMPLETE? - PullRequest
0 голосов
/ 12 января 2012

У меня есть форма с текстовым полем: где бы значение не изменялось, набирая, показывая предупреждение о событии KeyPress, но оно не работает, если в IE включен параметр «Использовать автозаполнение для формы», а затем каждый раз, когда пользователь дважды щелкает и выбирает текстиз списка «возможных записей, которые пользователь вводил раньше».

Ответы [ 3 ]

1 голос
/ 15 января 2012

Для этого используйте клиентское событие « onpropertychange »:

Вот решение для стандартных и DevExpress (похоже, что вы его используете) текстовых полей:

<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
    //DevExpress ASPxTextBox
    function OnInit(s, e) {
        var inputElement = s.GetInputElement();
        ASPxClientUtils.AttachEventToElement(inputElement, "propertychange", function (event) {
            if (event.propertyName === "value") {
                alert("Value Changed");
                alert(event.srcElement.value);
            }
        });
    }

    //Standard Input
    $(document).ready(function () {
        var inputElement = document.getElementById("txt");
        //var inputElement = document.getElementById('<%=txt.ClientID%>');
        inputElement.attachEvent("onpropertychange", function (event) {
            if (event.propertyName === "value") {
                alert("Value Changed");
                alert(event.srcElement.value);
            }
        });
    });
</script>

<dx:ASPxTextBox ID="txtDX" runat="server" Width="170px">
    <ClientSideEvents Init="OnInit" />
</dx:ASPxTextBox>
<br />
<input id="txt" type="text" runat="server" />
<br />
<asp:Button ID="btn" runat="server" Text="Button" />
0 голосов
/ 12 января 2012

Ты хочешь что-то подобное. См.
http://jqueryui.com/demos/autocomplete/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...