2012-09-19 41 views
0

我有一個切換()腳本來更改窗體。用戶所做的是點擊一個ID爲「comp」的圖像。然後這會將標籤更改爲新公司,並且選擇下拉列表更改爲文本輸入。但是,我如何使它恢復到原來的狀態呢?如何正確使用toggle()功能

<script> 
$(document).ready(function() { 
    $('#newcomp').click(function() { 
     $('select#company').toggle(); 
     $('select#company').replaceWith("<input type='text' id='company' name='company' >"); 
     $('#comp label').replaceWith('<label for="company">New Company</label>') 
    }); 
}); 
</script> 

問候 開局

+1

您可以發佈您的標記/創建[的jsfiddle(http://jsfiddle.net/) ? – undefined

+0

對'#newcomp'和'#comp'感到困惑。你說'點擊一個id爲「comp」的圖片,應該在你的例子中使用#newcomp然後不是'#comp'?您還必須發佈HTML,因爲我們只能看到用於替換標籤和下拉菜單的新值。我們不知道您想要切換回原來的值。知道這些將與解決方案相關。 – Nope

回答

0

我猜你想要做的是fadeOut->replace->fadeIn.

$(document).ready(function() { 
    $('#newcomp').click(function() { 
     $('select#company').fadeOut('slow', function() { 
      $('#comp label').replaceWith('<label for="company">New Company</label>'); 
      $(this).replaceWith("<input type='text' id='company' name='company' >").fadeIn('slow'); 
     }); 
    }); 
}); 
+0

我認爲OP只顯示替換原始元素的代碼。這兩行代碼在1次更改中都是必需的。 OP似乎正在尋找一個觸發器來撤消「replaceWidth」調用,但爲此我們需要替換的原始HTML。 Fade不會解決這個問題。 – Nope