如果输入有文本并与 if 函数进行比较,如何获取输入的数值?

How to get numeric value of input if it has text and compare to if function?

我需要下一个功能才能工作:

if(!currentvalue >= $(this).val()) {
    $(this).val('It is free now')
  }

问题是当值仅为数字时 - 它工作正常。但我还需要向该值添加“,000 usd”之类的文本。所以在那之后 IF 函数不起作用。是否有可能使其工作以及如何工作?

The link on example on codepen.

几个想法,

首先,如果您只是想确定文本框的数值,您可以使用

parseInt($(this).val()) >= someInt

其次,如果您要获取文本框的值减去 "some text",您可以使用

var value = $(this).val();
var intVal = value.substring(value.indexOf("sometext", value.length);

看看我在你的 CodePen ->

中更改了什么
$('.number').each(function() {
  var curval = $(this).data('summary');
  var newval = parseInt(curval - ui.value * 0.08);
  if(!curval >= (newval * 1000)) {
    $(this).val('It is free now')
  }   else {
     $(this).val(newval + ",000" + " usd");
  } 
});     

您在 If 之前获得了数字格式的值,那么为什么不在此之前进行评估,而不是恢复到之前要检查的值。