Search code examples
jqueryselectattr

how to get option title="sample" using jquery


I'm trying to update a hidden field based on the a title attribute on a select option, I've tried the code bellow and can't seem to get it to work.

<form>
    <select id="selectbox">
        <option name="test" value="one" title="title" selected="selected">one</option>
        <option name="test2" value="two" title="title2">two</option>
    </select>
</form>
<input id="update" type="hidden" value="defaultold" />

<script>
    $('#update').val('default');
    $('#selectbox').change(function() {
        $('#update').val($(this).attr("title"));
    });
</script>

Solution

  • Encapsulate that code within a $(document).ready(... block, and you need to use the option's title:

    $(document).ready(function() {
        $('#update').val('default');   
        $('#selectbox').change(function() {
             $('#update').val($(this).find("option:selected").attr("title"));
        });
    });
    

    $(this) refers to the context of the select element, you can use find to get the descendant of interest which in this case is the selected option.