首页 > 解决方案 > 从选择下拉列表中的文本解析数字以计算数字并将文本和数字保存到数据库

问题描述

我有一个仅包含数字值的选择下拉列表,但用户看到附加到金额的服务的描述符

<option value="400">New Report</option>

只要值是纯 #,我使用的所有 javascript 代码都可以很好地运行所有计算和总计。

问题是我无法弄清楚如何同时保存数字和描述符,因此表单仍在计算并且我知道用户做出的选择。

如果我稍后包含要使用 php 解析的文本以从文本中拆分数字并保存在数据库中的 2 个字段中,我的计算结果为“NaN”,因为文本存在于值字段中

我试图以某种方式从 onchange 事件中的文本中拆分数字,但这没有奏效

例如

<select id="srv1" name="srv1" onChange="calcexp(this.form,str.split('srv1','-','0'));">

这个想法是从破折号左侧的值中提取。

如在

 <option value="400-New Report">New Report</option>

标签: javascript

解决方案


这就是您如何解析字符串左侧的数字-

let str = "123-etc";
let int = Number.parseInt(str.split("-", 1)[0]);
console.log(int);


推荐阅读