0

taskButtonClick()という関数があります。

  1. 変数形式をクローンに設定します。
  2. 変数formParentを最も外側のdivに設定します。
  3. 親のdivとその要素を削除します。
  4. 削除された要素をフォームに置き換えます。

    function taskButtonClick() {
    $(".task-btn").click(function(){
        // Setting form to the clone I want to acces in .on()
        var form = $(this).closest('#form-to-date').clone(true);
        var formParent = $(this).closest('#date-container');
        $(this).closest('#form-to-date').remove();
            $(formParent).html('\
                <form>\
                    <fieldset>\
                    <legend>Task<button class="btn task-btn" id="exit- button"><img src="http://localhost/ia/assets/img/remove.png"></button></legend>\
                     <input type="text" class="span12 input-xlarge"  id="input01">\
                    <div class="control-group">\
                        <div class="controls">\
                        </div>\
                    </div>\
                    <div class="form-actions">\
                        <button class="btn btn-primary span12"  type="submit">Save changes</button>\
                    </div>\
                    </fieldset>\
                </form>\
                ');
    });
    }
    

.on()関数を作成し、クリックハンドラーをアタッチしたフォームに、終了ボタンが追加されています。.on関数内から変数form(クローン)にアクセスし、フォームを前のコンテンツに置き換える方法を見つけようとしています。

$("#date-container").on("click", "#exit-button", function(event){
alert("Exit Button Works.");
event.preventDefault();
    // Here's kind of what I'm going for
$(form).appendTo(formParent);
});

私はjqueryにあまり詳しくないので、どうにかしてもっと明確にできるかどうか教えてください。

Edit: Here's where I'm calling the funcitons:

$('document').ready(function(){
    setAjax();
    initialize();
    setDates();
    setButton(); 
    setActiveNav(); 
    taskButtonClick();
    removeButtonClicked();
});
4

2 に答える 2

1

グローバル変数を宣言してみてください。

$(document).ready(function(){
       //Notice variable is outside of the event function. It can be accessed by other functions and events.
       var formParent = null;

       $(".task-btn").click(function(){
    // Setting form to the clone I want to acces in .on()
    var form = $(this).closest('#form-to-date').clone(true);
    formParent = $(this).closest('#date-container');
    $(this).closest('#form-to-date').remove();
        $(formParent).html('\
            <form>\
                <fieldset>\
                <legend>Task<button class="btn task-btn" id="exit- button"><img src="http://localhost/ia/assets/img/remove.png"></button></legend>\
                 <input type="text" class="span12 input-xlarge"  id="input01">\
                <div class="control-group">\
                    <div class="controls">\
                    </div>\
                </div>\
                <div class="form-actions">\
                    <button class="btn btn-primary span12"  type="submit">Save changes</button>\
                </div>\
                </fieldset>\
            </form>\
            ');
     });
});
于 2012-07-06T14:17:08.907 に答える
0

クローン変数を使用する場合は、グローバル変数宣言を使用します。

于 2012-07-06T14:17:57.687 に答える