2013-05-14 46 views
2

你好IM的刪除按鈕嘗試寫這段代碼爲每個輸入添加刪除BTN,我通過JavaScript添加每一個沒有問題:·設置於JavaScript

但刪除BTN它不工作,我想你會更快地看到我的錯誤,導致我真的是一個JavaScript的新手。希望你能幫助我..

$(document).ready(function() { 
    var i = $('.field').size() + 1; 
    $('#add').click(function() { 
     $('<div class="fieldss' + i + '"><label for="link' + i + '">Video/Link</label><input type="text" class="field' + i + '" name="link' + i + '" value="' + i + '" /><a href="#" id="remove' + i + '">Remove</a></div>').fadeIn('slow').appendTo('.inputs'); 
     i++ 
    }); 
    $('#remove' + i + '').click(function() { 
     $('.fieldss' + i + '').remove(); 
     i-- 
    }); 
    $('#reset').click(function() { 
     while (i > 2) { 
      $('.field:last').remove(); 
      i-- 
     } 
    }); 
    $('.submit').click(function() { 
     var answers = []; 
     $.each($('.field'), function() { 
      answers.push($(this).val()) 
     }); 
     if (answers.length == 0) { 
      answers = "none" 
     } 
     alert(answers); 
     return false 
    }) 
}); 

的問題必須在刪除BTN代碼,因爲我不知道如何設置它像這樣...我使用有它這樣的,但這刪除剛剛過去項目添加,我需要每個刪除btn。

$('#reset').click(function() { 
    while (i > 2) { 
     $('.fieldss:last').remove(); 
     i--; 
    } 
}); 
+0

當您說「刪除btn」時,您的意思是「'刪除'鏈接」? – nnnnnn

+0

@Jules你也可以發佈你的html標記,這樣我們可以更好地幫助你。 – PSL

回答

0

由於您正在動態添加它,因此您可以將事件委託綁定事件用於存在的父級。使用類remove將其添加到刪除元素。您也可以使用<div class="fieldss">,然後: -

$('#add') 
     .click(function() { 
     $('<div class="fieldss"><label for="link' + i + '">Video/Link</label><input type="text" class="field' + i + '" name="link' + i + '" value="' + i + '" /><a href="#" id="remove' + i + '" class="remove">Remove</a></div>') 
      .fadeIn('slow') 
      .appendTo('.inputs'); 
     i++; 
    }); 

$(document).on('click','.remove', function() { 
// use a container selector instead of document. 

    $(this).closest('.fieldss').remove(); 
}); 
+1

刪除標識符不重複,他們有'我'追加到他們... – nnnnnn

+0

@nnnnnn我後來注意到它。謝謝!!! :) – PSL

+1

它的工作!,謝謝! –