无法清除 JavaScript 中按钮的变量输入

Trouble clearing variable input for button in JavaScript

我正在制作一个按钮,用于将文本输入附加到列表中,希望以后更多。一切似乎都运行良好,除了一旦输入被清除,您可以再次点击按钮,它会重新填充相同的变量值,即使我更改了变量。我的文本输入是#MercInt。代码:

$(document).ready(function(){

  var $inputVal = $("#MercInt").val();
  var list = "#intList";
  var listItem 

  function mercList (){
    listItem = "<li>" + $inputVal + "</li>";
    $(list).append(listItem);
    }

  function mercWarning (){
    };


  $("button").on("click", function (event){
     event.preventDefault();
     if (!$inputVal) { mercWarning()
      } else {      
       mercList()
       $("#MercInt").val("");
       listItem = ("Doesn't matter what I put here");
       }
  }) // end button.on.click

}); //end of doc.ready

我是新手,所以如果您对代码也有任何一般性意见,请随时提出。谢谢

您只在页面加载时设置 $inputVal,而不是在每次按下按钮时设置。

将 $inputVal 的设置移到点击处理程序中,一切都会好起来的。

$("button").on("click", function (event){
 event.preventDefault();
 var $inputVal = $("#MercInt").val(); //Add this line
 if (!$inputVal) { mercWarning()
  } else {      
   mercList()
   $("#MercInt").val("");
   listItem = ("Doesn't matter what I put here");
   }
})