1

这是我在 HTML 中的选择标记,我正在检索值,如下所示

谁能告诉我如何检索冒号 (:) 之前的值,例如如果它是 200:Java 编程语言我只需要 200 作为值

<select name = "book" id="selSeaShells">
  <option></option>
  <option value = "100:C programming language">C programming language</option>
  <option value = "200:Java programming language">Java programming language</option>
</select>

function myFunction() {
    var quantityvalue = document.getElementById("quan").value;
    var selObj = document.getElementById('selSeaShells');
    var optionselectedvalue;
    var optionselectedtext;

    for (i = 0; i < selObj.options.length; i++) {
        if (selObj.options[i].selected) {
            optionselectedvalue = selObj.options[i].value;
        }
    }
}
4

3 回答 3

2

在你的例子中,你可以做

optionselectedvalue.split(':')[0]

这里有一个演示

于 2013-07-09T21:17:21.453 回答
1

您可以使用 jquery 或常规 javascript 命令从中获取值。

然后使用该值使用split函数在 String 值上使用此代码,.split(":")它返回一个数组,您将需要第一个索引,因此放在字符串上的总代码是.split(":")[0].

如果您想将其作为数字,请在结果上使用parseIntorparseFloat函数。

于 2013-07-09T21:19:46.613 回答
1

归功于 Karthikr。这是一个很好的答案,我想补充一点,您可以摆脱那个 for 循环并通过使用 selectedIndex 来提高代码的性能。

var optionselectedvalue = selObj.options[selObj.selectedIndex].value;

这是一个演示它的 jsbin(Karthikr 的答案也在 bin 中)

于 2013-07-09T21:34:45.807 回答