我有一个要在html选择元素中选择的列表。这些是:印度卢比(INR(,美元(USD(等。当我选择一个选项并在JavaScript中访问document.getElementById("someId").value
时,我得到了整个字符串:印度卢比(INR(。相反,我只想要"INR"用于进一步的代码。
我知道我可以从字符串中实现正则表达式广告提取 INR,但我渴望知道是否有任何方法可以设置一个返回值,当选择 HTML 选择下拉列表中的某些内容时,代码可以访问该值。
例如:当我选择印度卢比(INR(时,有什么方法可以直接获得"INR"吗?比如事先为该值设置一些属性或其他属性?
我认为,你应该改变你的方法。不指定为整个文本作为选项值。它应该是文本。
console.log(document.getElementById("someId").value);
<select id="someId">
<option value="INR">Indian Rupee (INR)</option>
</select>
如果您坚持使用 regex
提取INR
,请尝试以下代码;
var regExp = /(([^)]+))/;
var matches = regExp.exec(document.getElementById("someId").value);
console.log(matches[1]);
<select id="someId">
<option value="Indian Rupee (INR)">Indian Rupee (INR)</option>
</select>
我理解的那样并且您不需要全名,我建议您仅将值设置为 INR 或 USD,如下所示:
<select>
<option value="INR">Indian Rupee (INR)</option>
<option value="USD"> US Dollar (USD)</option>
</select>
您的选择选项可能有value = "USD"
和 html 文本"美元 (USD("。它们是两个不同的东西。
<option value="USD">US Dollar (USD)</option>