Bootstrap选择给出不准确的值

时间:2016-06-07 23:51:27

标签: jquery twitter-bootstrap

我在html中有一个Bootstrap选择下拉列表:

        <fieldset class="form-group">
            <label for="exampleSelect1">Number of vegan meals</label>
            <select id="week2veganquantity" class="form-control" id="exampleSelect1">
              <option>1</option>
              <option>2</option>
              <option>3</option>
              <option>4</option>
              <option>5</option>
            </select>
        </fieldset>

它有效,但当我选择这样的值时:

$("#week2veganquantity.form-control").find("option:selected").text();

将返回:

"11"

如果我选择了“1”,它会在控制台中显示“11”如果我选择了“2”,如果我在控制台中打印,则会显示“12”。

如果值为“01”,则返回“101”。

有没有人见过这个?这里发生了什么事?我该如何解决呢?

2 个答案:

答案 0 :(得分:2)

我注意到你的选择有两个id。

import re

def ReadText():
    total = 0
    text_file = open('Heliatext.txt', 'r')
    lines = text_file.read()
    numblist = []
    print(lines)
    print(len(lines))
    stuff = re.findall(r'\d+', lines)
    numblist.extend(stuff)
    print(numblist)
    for x in numblist:
        total += int(x)
        print (total)
    text_file.close()

ReadText()

一个元素应该只有一个id。这让我想知道是否可能在该页面上有另一个选择&#34; week2veganquantity&#34; id,可能是由于复制/粘贴。如果是这样,jQuery将找到它们并在控制台中将它们连接成一个字符串。如果是这种情况,解决方案是给每个选择一个唯一的ID。

这是一个指向codepen的链接,我可以在其中重新创建此行为: http://codepen.io/amartin007/pen/MeaXBJ

答案 1 :(得分:1)

这对我有用。也许尝试设置您的选项的价值。由于文本用于显示目的,因此它更可靠。

&#13;
&#13;
$(document).ready(function() {
  alert($("#week2veganquantity.form-control").find("option:selected").val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset class="form-group">
  <label for="exampleSelect1">Number of vegan meals</label>
  <select id="week2veganquantity" class="form-control" id="exampleSelect1">
    <option value="1">1 - one</option>
    <option value="2">2 - two</option>
    <option value="3">3 - three</option>
    <option value="4" selected>4 - four</option>
    <option value="5">5 - five</option>
  </select>
</fieldset>
&#13;
&#13;
&#13;