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

时间:2019-02-10 05:38:42

标签: javascript

我只有一个带有数字值的选择下拉列表,但是用户看到了与金额相关的服务的描述符

#include <math.h>
#include <stdio.h>

int isPrime(int value) {
    int i = 2;
    for(; i < value; i++) {
        if((value % i) == 0) {
            return 0;
        }
    }
    return value > 1;
}

int main(void){

int n=0,i=0, r=0;
char * s;

printf("\nPlase enter a number to learn if it is prime:");
scanf("%d",&n);
r = isPrime(n);

printf("\n%d is ", n);
s = (r==0)?  " not a prime number" :  "a prime number";
puts(s);
return 0;
}

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

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

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

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

例如

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

想法是从值中提取短划线左侧的内容。

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

3 个答案:

答案 0 :(得分:1)

这是您解析-

左侧字符串中的数字的方式

:

答案 1 :(得分:1)

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

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

希望它对您有帮助。

答案 2 :(得分:1)

您可以使用数据属性存储带有html元素的多余文本。您可以在此处阅读有关数据属性的信息。 https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes