2016-01-05 71 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);