Skip to main content

jQuery Select list, selected text value rather than the value



building on my last question jQuery getting values from multiple selects together





I have the select list like:







<select name="access" class="change" id="staff_off" runat="server">

<option value="8192">Off</option>

<option value="8192">On</option>

</select>







And I basically want to add or subtract the value of the options if it's off, subtract if it's on add it. It's going to be stored in a cookie (it uses bitwise)





The jquery I have is:







<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>







I'll do the addition in the change function. The thing I can't work out is how to get the text of the select to do an if statement (so if it's yes, add the value, if it's no, subtract the value)





Tom


Comments

  1. If you're looking for the inner text of the selected <option> element, you can use the :selected selector to match it, then call the text() method:

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


    Or, alternatively:

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

    ReplyDelete
  2. To get the text of the selected item:

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


    I'd also suggest (if you're using HTML5) that using the data-x attribute to store the flag whether to add or subtract the value would be more semantic. Like this:

    <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>


    Then to get your final value to apply to the total you simply multiply the value by the data-factor attribute.

    ReplyDelete
  3. You can use this $("#staff_off").find("option:selected").html();

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?

CCNA 1 Final Exam 2011 latest (hot hot hot)

  Hi! I have been posted content of ccna1 final exam (latest and only question.) I will post the answer and insert image on sunday. If you care, please subscribe your email an become a first person have full test content. Subcribe now  Some question  have not content because this question have images content. So that can you wait for me? SUNDAY 1. A user sees the command prompt: Router(config-if)# . What task can be performed at this mode? Reload the device. Perform basic tests. Configure individual interfaces. Configure individual terminal lines. 2. Refer to the exhibit. Host A attempts to establish a TCP/IP session with host C. During this attempt, a frame was captured with the source MAC address 0050.7320.D632 and the destination MAC address 0030.8517.44C4. The packet inside the captured frame has an IP source address 192.168.7.5, and the destination IP address is 192.168.219.24. At which point in the network was this packet captured? leaving host A leaving ATL leaving...