jQuery replacewith varibles在更改时没有被替换

时间:2016-01-05 22:58:03

标签: javascript jquery

在下拉列表更改中,变量val未在replacewith中更改。它仍然设置为初始值但未更新。

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

1 个答案:

答案 0 :(得分:3)

问题是在第一次更改后你用id ='filler'

替换div

因此第二次和后续的onchange不会有一个id ='filler'的元素 - 所以代码不会运行

你可以这样做

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

这将导致填充div具有内部div

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

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