0

jquery モバイル (ノックアウト) で ajax コンテンツの重複に問題があります。フォームを開始するためにボタンをコールバックし、すべてのプロセスを再度コールすると、問題が発生します。コード例:

            <div data-role="header" data-theme="c">
                <a data-bind="click: headerBackBtn" data-role="button">Back</a>
                <h1>
                    Header title
                </h1>
            </div>
            <div data-role="content">
                <form id="form" name="form" data-bind="visible: form">
                        <label for="name">Name:</label>
                        <input type="search" name="name" id="name"/>
                        <button data-bind="click: toFirstContent" data-icon="search">Search</button>
                </form>

                <!-- first content -->
                <div class="div-1" id="div-1" data-bind="visible: div-1">
                    <a data-bind="click: toSecondContent">
                        Link
                    </a>
                </div>

                <!-- second content -->
                <div class="div-2" id="div-2" data-bind="visible: div-2">
                    Text
                </div>
            </div>
            <div data-role="footer" data-theme="c">
                <h4>footer</h4>
            </div>
    self.headerBackBtn = function () {
        if (self.div-2()) {
            self.div-2(false);
            self.div-1(true);
            return;
        }
        if (self.div-1()) {
            self.div-1(false);
            self.form(true);
            return;
        }
    };
4

1 に答える 1

0

解決策はhttp://api.jquery.com/remove/です。新しい要素を取得する関数を呼び出す前に、すべての要素に対して class="removeItem" を配置し、$(".removeItem").remove() を呼び出します...

于 2013-02-20T09:42:32.980 に答える