我只有一个带有数字值的选择下拉列表,但是用户看到了与金额相关的服务的描述符
#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'));">
答案 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