Javascript 要从输入字段输出精确值吗

Javascript 要从输入字段输出精确值吗,javascript,jquery,Javascript,Jquery,我正在制作电子商店,我想输出输入字段中写入的确切金额 <input type="number" id="val" value="1" class="input-text" > $("input[type=number]").ready(function(){ var val = $("#val").val(); alert("there are " + val + "in your cart"); }); $(“输入[type=number]”)。就

我正在制作电子商店,我想输出输入字段中写入的确切金额

  <input type="number" id="val" value="1" class="input-text" >

  $("input[type=number]").ready(function(){
    var val = $("#val").val();
    alert("there are " + val + "in your cart");
  });

$(“输入[type=number]”)。就绪(函数(){
var val=$(“#val”).val();
警报(“您的购物车中有“+val+”);
});
现在的问题是它只返回1,因为我将值设置为1

这里是小提琴的例子


我希望用户输入值,并且我希望该值乘以产品价格$9.99

您不希望在
文档
元素之外的任何东西上使用
就绪
,并且仅在需要等待DOM就绪的情况下(可能是因为您不控制脚本标记的位置;如果控制了,只需将脚本标记放在页面末尾,在结束标记之前)

如果希望在用户更改值时运行该代码,请使用
change

$("input[type=number]").on("change", function(){
  var val = $("#val").val();
  alert("there are " + val + "in your cart");
});
如果要在文档准备就绪和用户更改值时都运行它,请将代码放入命名函数中,并在两个位置使用它:

$(document).ready(function() {
    function useTheValue() {
      var val = $("#val").val();
      alert("there are " + val + "in your cart");
    }
    $("input[type=number]").on("change", useTheValue);
    useTheValue();
});
或者,如果脚本位于
正文
的末尾,则可以省略
就绪

(function() {
    function useTheValue() {
      var val = $("#val").val();
      alert("there are " + val + "in your cart");
    }
    $("input[type=number]").on("change", useTheValue);
    useTheValue();
})();

使用更改事件
$(“输入[type=number]”)。在(“更改”上,函数(){..})。触发器('change');
也可以执行,而不是命名function@Satpal:我不相信触发假事件来运行函数,因此我不提升它。事件是代码的输入(在本例中);如果需要在代码中调用函数,则应该调用它,而不是让jQuery和浏览器调用。事件对于断开连接的事情很有用,但使用它们调用特定函数只是一种滥用(在我看来)。