Можно ли прослушать изменение скрытого ввода с помощью jQuery каким-либо событием? - PullRequest
2 голосов
/ 05 октября 2011

Может быть, вы также поняли из вопроса, я пытаюсь вызвать одно изменение, которое происходит со скрытым вводом.

<input type="hidden" name="secret" id="secret" onchange="alert(MSG);" value="0" />

Внутри я загружаю некоторые данные в div, который также скрыт, где загрузка выполняется с помощью jQuery, входное значение меняется на 1. И окно предупреждения не отображается !!

Загрузка HTML:

$('.somediv').load('ajax.php?changesecret=yes');

Изменение от php

<script type="text/javascript">
    $("#secret").val(1);
</scipt>

Любые идеи, как я могу вызвать это изменение?

Ответы [ 3 ]

1 голос
/ 05 октября 2011

Как насчет ручного запуска события после изменения значения?

<script type="text/javascript">
    $("#secret").val(1).trigger('change');
</scipt>
0 голосов
/ 05 октября 2011

Любое изменение ввода, выполненное с помощью кода jQuery, не вызовет событие change, если вы не запустите его также вручную.Попробуйте следующее:

   $("#secret").val(1).trigger('change');

или

   $("#secret").val(1).change();

Выдержка из документации jQuery

Если поле теряет фокус без содержимогооднако, изменившись, событие не сработало.Чтобы вызвать событие вручную, примените .change () без аргументов:

$('#other').click(function() {
  $('.target').change();
});
0 голосов
/ 05 октября 2011

Вы можете справиться со всем этим в JavaScript следующим образом:

$.get('ajax.php',
    {
        changesecret: 'yes'
    },
    function (data) // This gets the data back from ajax.php
    {
        $('.somediv').html(data);
        alert(MSG);
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...