jQuery选择列表,选择文本值而不是值

TMB*_*B87 5 javascript asp.net jquery

在我的最后一个问题上构建jQuery从多个选择中获取值

我有选择列表,如:

  <select name="access" class="change" id="staff_off"  runat="server">
                <option value="8192">Off</option>
                <option value="8192">On</option>
  </select>
Run Code Online (Sandbox Code Playgroud)

我基本上想要添加或减去选项的值,如果它关闭,减去它是否添加它.它将存储在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>
Run Code Online (Sandbox Code Playgroud)

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

汤姆

Fré*_*idi 9

如果要查找所选<option>元素的内部文本,可以使用:selected选择器匹配它,然后调用text()方法:

var currentText = $(this).find(":selected").text();
Run Code Online (Sandbox Code Playgroud)

或者,或者:

var currentText = $(":selected", this).text();
Run Code Online (Sandbox Code Playgroud)


Ror*_*san 7

要获取所选项目的文本:

var value = $("#staff_off :selected").text();
Run Code Online (Sandbox Code Playgroud)

我还建议(如果你使用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>
Run Code Online (Sandbox Code Playgroud)

然后让你的终值适用于您只需乘以总valuedata-factor属性.