【问题标题】:jQuery Select list, selected text value rather than the valuejQuery 选择列表,选择文本值而不是值
【发布时间】:2012-02-08 13:29:39
【问题描述】:

基于我的最后一个问题jQuery getting values from multiple selects together

我有如下选择列表:

  <select name="access" class="change" id="staff_off"  runat="server">
                <option value="8192">Off</option>
                <option value="8192">On</option>
  </select>

我基本上想添加或减去选项的值,如果它关闭,则减去如果它在添加它。它将被存储在一个 cookie 中(它使用按位)

我的 jquery 是:

<script>

        $(document).ready(function(){
           var currentAccess = $.cookie("access");
        })

        $("select").change(function () {
            var currentText = $(this).text()
            var value = $(this).val()

              $.cookie("access", value, { expires: 24 });

              alert(currentText);

              alert( $.cookie("access") );

            })

    </script>

我将在更改功能中进行添加。我无法解决的是如何获取select的文本来执行if语句(所以如果是,则添加值,如果不是,则减去值)

汤姆

【问题讨论】:

    标签: javascript jquery asp.net


    【解决方案1】:

    如果您要查找所选&lt;option&gt; 元素的内部文本,可以使用:selected 选择器进行匹配,然后调用text() 方法:

    var currentText = $(this).find(":selected").text();
    

    或者,或者:

    var currentText = $(":selected", this).text();
    

    【讨论】:

    • 这正是我想要的。谢谢!
    【解决方案2】:

    获取所选项目的文本:

    var value = $("#staff_off :selected").text();
    

    我还建议(如果您使用 HTML5)使用data-x 属性来存储标志是添加还是减去该值会更符合语义。像这样:

    <select name="access" class="change" id="staff_off"  runat="server">
        <option value="8192" data-factor="-1">Off</option>
        <option value="8192" data-factor="1">On</option>
    </select>
    

    然后,您只需将value 乘以data-factor 属性即可将最终值应用于总数。

    【讨论】:

    • #staff_off 和 :selected 之间需要一个空格,否则如果选择了 &lt;select&gt; 元素,您最终将匹配它,这永远不会发生。
    • 谢谢你,有没有办法使用全局而不是 ID(因为按位添加所有 select sup 的值,其中大约有 30 个)
    • 假设你循环遍历每个select,你可以使用$(":selected", $(this)).text()
    【解决方案3】:

    你可以用这个$("#staff_off").find("option:selected").html();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-30
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2015-02-14
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      相关资源
      最近更新 更多