【问题标题】:How to get numeric value of input if it has text and compare to if function?如果输入有文本并与 if 函数进行比较,如何获取输入的数值?
【发布时间】:2015-11-16 15:28:21
【问题描述】:

我需要下一个函数来工作:

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

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

The link on example on codepen.

【问题讨论】:

  • 不管数字/文本是什么,我相当肯定你的意思不是!currentvalue >= $(this).val()。也许currentvalue < $(this).val()! 适用于 currentvalue,而不是其后的整个表达式,因此您最终会将 truefalse 与输入中的值进行比较。
  • 我猜这个例子不是你的代码,因为它工作正常。您的问题是您正在直接读取输入的值,而不是解析任何内容。您需要存储数字值并绘制文本值。这很简单,但我们需要查看您的更多代码。

标签: jquery text numeric


【解决方案1】:

查看我在您的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 之前有数字格式的值,为什么不在此之前进行评估,而不是恢复到您之前检查的内容。

【讨论】:

    【解决方案2】:

    一些想法,

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

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

    其次,如果你想得到一个文本框的值减去“一些文本”,你可以使用

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

    【讨论】:

      猜你喜欢
      • 2020-06-09
      • 2022-06-17
      • 1970-01-01
      • 2015-03-30
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多