2

質問からも理解できるかもしれませんが、私は非表示の入力に発生する1つの変更をトリガーしようとしています。

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

内部的には、データをdivにロードします。このdivも非表示になっており、ロードはjQueryで行われ、入力値は1に変更されます。アラートボックスは表示されません。

HTMLの読み込み:

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

PHPからの変更

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

任意のアイデア、どうすればこの変更をトリガーできますか?

4

3 に答える 3

1

値を変更した後、手動でイベントをトリガーするのはどうですか?

<script type="text/javascript">
    $("#secret").val(1).trigger('change');
</scipt>
于 2011-10-04T22:07:24.623 に答える
0

jQueryコードを介して行われた入力への変更は、change手動でトリガーしない限り、イベントをトリガーしません。これらを試してください:

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

また

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

jQueryドキュメントからの抜粋

ただし、内容を変更せずにフィールドがフォーカスを失った場合、イベントはトリガーされません。イベントを手動でトリガーするには、引数なしで.change()を適用します。

$('#other').click(function() {
  $('.target').change();
});
于 2011-10-04T22:11:24.793 に答える
0

次のように、JavaScriptですべてを処理できます。

$.get('ajax.php',
    {
        changesecret: 'yes'
    },
    function (data) // This gets the data back from ajax.php
    {
        $('.somediv').html(data);
        alert(MSG);
    }
);
于 2011-10-04T22:06:46.343 に答える