基于我的上一个问题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语句(如果是,则添加值,如果不是,则减去该值)
汤姆
答案 0 :(得分:9)
如果您要查找所选<option>
元素的内部文字,可以使用:selected选择器进行匹配,然后调用text()方法:
var currentText = $(this).find(":selected").text();
或者,或者:
var currentText = $(":selected", this).text();
答案 1 :(得分:7)
获取所选项目的文本:
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
属性即可。
答案 2 :(得分:0)
您可以使用此$("#staff_off").find("option:selected").html();