2016-01-05 104 views
0

在下拉更改變量val在replacewith中沒有被更改。它仍然設置爲初始值,但沒有更新。jQuery替換變量不會被更換

alert(val)確實給出了正確的值。 刪除val也沒有幫助。

$(document).ready(function() { 
    $("#answerDropdown").change(function() { 
     var val = $(this).val(); 
     if (val != '') { 
     $("#filler").replaceWith('<div id="replaced"> ' + val + '</div>'); 
     alert(val); 
     delete val; 
     } 
    }); 
}); 

Fiddle

+0

任何錯誤在顯影劑工具控制檯填料DIV? –

+0

它適用於我,但只有一次,因爲它首先消除目標div。不知道你用'delete val'的意圖是什麼。 – jmoerdyk

回答

3

問題是你與ID更換DIV第一變化=「填料」後

因此第二和隨後的onChange不會有使用id =「填料」的元件 - 這樣的代碼只是不運行

你可以做到這一點,而不是

$("#filler").html('<div id="replaced"> ' + val + '</div>'); 

這將導致在具有內的div

$("#filler").replaceWith('<div id="filler"> ' + val + '</div>'); 

其等同於

$("#filler").text(val);