【问题标题】:html selected option in select differs of what I'm seeing in DOMselect 中的 html selected 选项与我在 DOM 中看到的不同
【发布时间】:2016-08-22 23:15:09
【问题描述】:

在 django 表单中,我为选择设置了默认选项。它没有在 UI 中显示这些更改,但在检查后我看到 DOM 实际上正在更改。当我在控制台中检查 HTML 时,我可以看到所选选项设置为 1,但是当我向 jquery 询问所选选项时,它给了我另一个选项。

$("select[name=spread_format] option")
[<option value=​"0">​in.​</option>​, <option value=​"1" selected=​"selected">​ft.​</option>​]
$("select[name=spread_format] option:selected")
[<option value=​"0">​in.​</option>​]
$("select[name=spread_format]").val()
"0"

我想要完成的是将 1 显示为默认值。此选择正在以引导模式呈现。

奇怪的是,UI 中的选定选项是“0”,而不是我的 DOM 所示的“1”。

【问题讨论】:

    标签: javascript jquery twitter-bootstrap dom modal-dialog


    【解决方案1】:

    为了获得所选选项的值,您应该使用val(),而不是搜索&lt;option&gt; 元素。

    $('#btn1').click(function() {
      console.log($('#s1').val());  
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select id="s1">
      <option value="1">A</option>
      <option value="2" selected="selected">B</option>
      <option value="3">C</option>
    </select>
    <br />
    <button id="btn1">click</button>

    【讨论】:

    • 谢谢,现在为什么我没有看到说选择,选择的那个。第一个选项是显示的那个
    • 不确定我是否理解这个问题。在我的示例中,选择的选项是“B”,其值为 2。
    • 我已经添加了一个关于这个问题的截图。在 DOM 中选择为 1,但在 UI 中选择为 0 @Dekel
    • selected 属性在更改select 元素上的选定选项时不会更改(这是使用val() 的原因之一)。
    • val() 仍然返回错误值 (0),并且我在 UI 中看到的与我在 DOM 中看到的不同。我希望默认选择 1,这在 DOM 中是可以的,但在 UI 中是不同的。看看我更新的代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-28
    • 2022-07-16
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    相关资源
    最近更新 更多