Javascript 将值添加到parseInt对象不工作
以下是我的javascript:Javascript 将值添加到parseInt对象不工作,javascript,jquery,Javascript,Jquery,以下是我的javascript: $('#vendorid').change(function(){ var vendno = $(this).val(); var data_String; var numpo = parseInt($('#numvendpo').val()); data_String = 'vendorid='+vendno; $.post('ft-ve
$('#vendorid').change(function(){
var vendno = $(this).val();
var data_String;
var numpo = parseInt($('#numvendpo').val());
data_String = 'vendorid='+vendno;
$.post('ft-vendno.php',data_String,function(data){
var data = jQuery.parseJSON(data);
$('#vendponum').val($('#vendponum').val() + data +'-'+ numpo+1);
});
});
我的输出是:
如底部文本框所示,最后一个数字“-31”应该是“-4”(3+1)。而它当前正在将其添加为字符串。不过,我似乎无法解决这个问题
顶部文本框是#numvendpo
,底部是#vendponum
请原谅我混淆了变量名。如果您这样做:
some_string + numpo + 1
由于第一个值是一个字符串
,您将从右到左串联值,因此您将首先将numpo
(将其转换为string
)串联到一些字符串
,然后将1
,也作为字符串
您可以修复此问题,确保正确,因此一个选项可能是在numpo+1
周围添加括号:
$('#vendponum').val($('#vendponum').val() + data + '-' + (numpo + 1));
您也可以在以下操作之前进行求和:
var numpo = parseInt($('#numvendpo').val()) + 1;
或使用:
在这里,您可以看到哪些有效,哪些无效:
const$vendorid=$(“#vendorid”);
常量$numvendpo=$(“#numvendpo”);
常量$outputIncorsis=$(“#outputIncorsis”);
常量$outputBefore=$(“#outputBefore”);
const$outputTemplate=$(“#outputTemplate”);
常量$outputError=$(“#outputError”);
$('vendorid,'numvendpo')。on('input',()=>{
常量vendno=$vendorid.val();
const numpo=parseInt($numvendpo.val());
如果(isNaN(numpo)){
返回;
}
常量numpoPlusOne=numpo+1;
$output括号.text(vendno+'-'+(numpo+1));
$outputBefore.text(vendno+'-'+numpoPlusOne);
$outputTemplate.text(`${vendno}-${numpo+1}`);
$outputError.text(vendno+'-'+numpo+1);
});代码>
body,
输入{
字体系列:monospace;
}
输入{
边框:3倍纯黑;
填充:8px;
宽度:200px;
}
p{
利润率:8px0;
}
.标签{
显示:内联块;
宽度:222px;
文本对齐:右对齐;
右边距:8px;
}
.错了{
颜色:红色;
}
带括号:
之前的金额:
模板文字:
错误:
您可以检查输入是否为数字if(isNAN($value)==false){//parse input}
尝试将numpo+1添加到括号(numpo+1)中$('#vendponum').val($('#vendponum').val()+data+'-'+(numpo+1))@是的,就是这样,我的javascript知识还需要一些work@Jordan以下是一些很好的例子,完整的网站对于学习和提高现有技能也很有帮助:
$('#vendponum').val(`${ $('#vendponum').val() }${ data }-${ numpo + 1 }`);