1

我创建了一个动态库存表,它加载一个包含产品列表的表,其中一个字段是一个 html 复选框,我已将该复选框链接到一个 javascript 函数以使用 onclick 事件并在函数中传递产品 ID( )。

当产品 ID 只是一个数字(例如 12345)时,Javascript 可以正常工作,但是当 ID 是混合字符串(例如 12345-HIGH)时,Javascript 会失败。我需要保持 ID 完整,因为它稍后会使用,所以我无法更改或转换它?

我似乎无法找到将混合字符串传递给 javascript 函数的方法。我不确定这是否有帮助,但 ID 通常会有一个“-”,并且文本(如果有的话)总是不同的。

4

2 回答 2

1

如果您知道您的字符串将始终以您要提取的数字部分开头,您可以使用parseInt()并利用 Javascript 解析的特性来仅提取数字部分:

parseInt("12345-HELLO")

将返回 12345 作为整数。但

parseInt("HELLO-12345-HELLO")

将返回NaN

于 2013-04-12T14:43:11.500 回答
1

如果不知道每个可能的字符串是由什么组成的,就很难知道正确的答案,但听起来它会

  1. 总是以数字开头
  2. 有时有一个-后跟一个字符串

如果这些是真的,你可以这样做:

var productId = "12345-HIGH";
var num = productId.split('-')[0];

此时它仍然是一个字符串,但您可以使用 将其转换为整数parseInt(num),如 jxpx777 发布的那样。

于 2013-04-12T14:56:07.367 回答