javascript - 从选择下拉列表中的文本解析数字以计算数字并将文本和数字保存到数据库

标签 javascript

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

<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>

最佳答案

我更喜欢在所有具有选项数值的选项中创建一个属性。对于计算,您可以通过获取属性来传递数值。检查以下代码:

    <select id="srv1" name="srv1" onChange="calcexp(this.form, this.options[this.selectedIndex].getAttribute('data-value'));">
        <option value="400-new" data-value="400">New Report</option>
        <option value="500-old" data-value="500">old  Report</option>
    </select>

希望对你有帮助。

关于javascript - 从选择下拉列表中的文本解析数字以计算数字并将文本和数字保存到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54613681/

相关文章:

javascript - 我的标签不算数

javascript - 如何仅引用文件中的一个变量而不是node.js 中的所有导出?

javascript - Javascript 中的繁忙指示器竞争条件

javascript - 您可以在原型(prototype)函数中访问原型(prototype)属性吗?

javascript - ajaxStart 不适用于 onclick

javascript - jQuery点击事件一次点击触发多次

javascript - 由于 JS,CSS 未从正确的文件夹加载

javascript - 如何在 span 内将文本居中?

javascript - 修改交互时取消监听事件并在监听后重新激活

javascript - 是否有一个可行的跨浏览器库用于类似 Sencha 的多维数据集转换