2014-02-14 48 views
0

嗨創建了一個div結構,它將允許用戶插入多個辦公號碼和地址相關的每個。即Office One,Office Two等。jQuery找到下一個不使用div結構

我在這些部分之間滑動。我有8個電話號碼,我使用jQuery來隱藏未勾選的電話號碼,點擊「添加新號碼」就會顯示列表中的下一個號碼。

但是,因爲這隻適用於名爲辦公室一而不是辦公室二的部分。如果您可以點擊添加新號碼並在辦公室一和辦公室二中進行測試,您將看到不同之處。當點擊添加按鈕時,它也應該附加一個隱藏和清除鏈接,但是這不會被追加。

我的附加功能是低於或查看我的jsFiddle

$(".add").click(function() { 
$(this).closest('.togglesettings').find(".contact_numbers:hidden:first").fadeIn("slow", function() { 
      $(this).find('.remove').remove(); 
       $(this).find('.clearnumber').remove(); 
       $(this).find('.contact_numbers .input_tel:last-child').append("<a href='#' class='remove'>Hide</a><a href='#' class='clearnumber'> Clear #</a>") 
      }); 
    }); 

但是這工作時,我用的是表結構,單擊該jsFiddle

回答

2

在您添加單擊處理程序,更改:

$(this).closest('.togglesettings').find(... 

$(this).closest('.form-group.container').find(... 

jsFiddle example

+0

啊,謝謝,這是爲什麼刪除和明確的按鈕並未顯示這是指該行'$(本).find(」 contact_numbers。 input_tel:last-child')。append(「Hide Clear #」)' – 001221

+0

有兩個原因。首先$(this)是指剛剛添加的div,因此無法找到'.contact_numbers'。其次,你不能附加一個鏈接到輸入。您可能希望使用'.after()',而不是像'$(this).find('。input_tel')。'之後(「Hide Clear #」)'。見http://jsfiddle.net/j08691/3asKP/ – j08691

0

.togglesettings包兩個電話列表,一個後你先去隱藏(.contact_numbers:隱藏:第一),讓你從第一個列表中得到一個電話(直到所有的人都不隱藏)。所以變化:

$(this).closest('.togglesettings').find(... 

這樣的事情

$(this).closest('.ten.columns').find(...