0

スパンの中にボタンがあります

<span class="act-button"><input type="button" value="Deactivate" onclick="deactivateTemplate(' + options.rowId + ')"></span>

span.act-buttonそして、後onclickにテキストを変更する必要があるため
、このコードを使用しようとしました

function deactivateTemplate(id) {
        $.post('@Url.Action("DeactivateFormTemplate")', { id: id })
        .done(function (result) {
            showMessage(result.Message);
            $('span.act-button').empty().html('<input type="button" value="Activate" onclick="activateTemplate(' + options.rowId + ')">');
        });

しかし、クリックするとボタンが消えてしまい、中に新しいボタンが表示されませんspan.act-button
コードの何が問題になっていますか?

4

1 に答える 1

1
  1. ボタンを再作成する必要はありません。値を変更するだけ

    function deactivateTemplate(id) {
            $.post('@Url.Action("DeactivateFormTemplate")', { id: id })
            .done(function (result) {
                showMessage(result.Message);
                $('span.act-button>input').val('Activate');
            });
    }
    
  2. jquery の DOM 操作メソッドは非同期です。すぐには完了しません。そのため、html() の後に empty() の実行が完了する可能性があります。そのように両方を使用しないようにしてください。

于 2013-10-08T11:29:59.177 に答える