[英]Error indexOf with number negative jQuery, JavaScript
我有一个 function 收集字符串格式的输入值,在这种格式下我需要删除单词,只使用替换选项留下数字,以前我使用第一个 indexOf 标签(它工作正常)知道在输入的值中是否包含字符“-”并知道字符串内的数字是否为负正,一旦检测到字符并且所有单词都已被消除,我会在这种情况下做什么in the first IndexOf is equal to 0 is to convert the replaced value to negative, after that another function calls the first function and collects the variable that contains the replaced result and passed to negative, in this second function it contains another indexOF (it does不能正常工作)读取自第一个 ZC1C425268E68385D1AB5074C17A94 以来我们传递的变量中的字符“-”是否 F14Z。 我在第二个 IndexOf 中遇到了问题,这给了我以下错误: impuesto1.indexOf is not a function 。
首先function (工作正常)
function value_impuestos(){
if(un_articulo == true)
{
impuestos1=$("#impuestos1-1").val();
negativo_positivo=impuestos1.indexOf("-");
impuesto = impuestos1.replace(/[^0-9\.]+/g, "");
if(negativo_positivo==0)
{
x = impuesto;
impuesto = x * -1;
impuesto=parseFloat(impuesto);
}
}
}
第二个 function (没有正常工作)
$("select[id=impuestos1-1]").change(function(){
value_impuestos();
impuesto1=impuesto;
alert(impuesto1); //result correct, example : -7
positivo_negativo=impuesto1.indexOf("-") > -1; //ERROR
if(positivo_negativo==false)
{
}
});
这可能很简单,但是:
这是一个工作示例。 当您单击文本框外时会触发更改事件。
let impuesto = 0; let un_articulo = true; function value_impuestos(impuestos1){ if(un_articulo) { negativo_positivo = impuestos1.indexOf("-"); impuesto = impuestos1.replace(/[^0-9\.]+/g, ""); try { impuesto=parseFloat(impuesto); } catch(err) { console.error(err) } console.log('value_impuestos:', impuesto) console.log('impuesto type:', typeof impuesto) if(negativo_positivo == 0) { impuesto = impuesto * -1; } return impuesto } } $(function() { $("input[id=impuestos1-1]").change(function(e){ let impuesto1 = value_impuestos($(this).val()); console.log('change:', impuesto1) if(impuesto1 > -1) { console.log('positive or 0') }else{ console.log('negative') } }); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body> <form> <input type="text" id="impuestos1-1" /> </form> </body>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.