1

次のコードを使用して、Drupal サイトに小さなフォームを作成しました。

<form id="form">
    <button class="btn calc" id="calculator" onclick="return false">Submit</button>
    <div class="calcAnswer">£ <span id="result">no value</span></div>
</form>

ボタンがクリックされると、JavaScript を使用して #result 要素を値に自動的に置き換えたいと思います。

私はこのコードを試しています(しかし、うまくいかないようです:

jQuery(document).ready(function ($){
    $("#calculator").click(function () {
        $("#result").replaceWith('<span id="result">A new value</span>');
    });
});

私は JSFiddle ( http://jsfiddle.net/NFQpw/8/ ) でテストしていますが、どこにも行きません。

4

4 に答える 4

1

#resultスパン内にhtmlを設定するだけです。.html()関数の使用。

jQuery(document).ready(function ($){
    $("#calculator").click(function () {
        $("#result").html('A new value');
    });
});

http://jsfiddle.net/Stijntjhe/NFQpw/10/

于 2013-07-29T16:05:26.333 に答える
1

実際、フィドルの問題は、「ライブラリなし(純粋なJS)」が指定されていることです。jQuery を含める必要があり、スクリプトは期待どおりに動作します (左側のバーの [フレームワークと拡張機能] で、jQuery のバージョンを選択します)。jQuery に問題はありません。

そうは言っても、私は @Stijn Martens に同意し.html('A new value')ます。この場合に使用する理由はありません.replaceWith

ここで動作することがわかります: http://jsfiddle.net/Jammerwoch/NFQpw/12/

于 2013-07-29T16:08:13.313 に答える
0

動作していますが、純粋JavascriptではなくテストしていますjQuery

Frameworks & Extensions左側のメニューでオプションをオンにしますjQuery 1.10.1

そしてそれはうまくいく

于 2013-07-29T16:11:08.087 に答える
0

これを試してください。JS:リンクを含めるだけです

jQuery(document).ready(function ($){
    $("#calculator").click(function () {
        $("#result").replaceWith('<span id="result">A new value</span>');
    });
});
于 2013-07-29T16:07:24.390 に答える