how to get option title="sample" using jquery

tom picture tom · May 7, 2010 · Viewed 29.3k times · Source

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. Thanks for any help!

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

Answer

karim79 picture karim79 · May 7, 2010

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.