jquery select option by text

by seadonk

HTML

<select id="myselect">
    <option value="a">Text1</option>
    <option value="b">Text2</option>
    <option value="c">Text3</option>
    <option value="d">Text4</option>
</select>
<br />
<button>Select Option By Text</button>
<input id="text" type="text" value="Text4"/>

JavaScript

$(function () {
    $('button').click(function () {
        var text = $('#text').val();
        setSelectedOptionByText(text);
    });
});

function setSelectedOptionByText(text) {
    var matchingOption = $("select#myselect option").filter(function () {
        return $(this).text() == text;
    });
    alert(matchingOption.val());
    matchingOption.prop('selected', true);
}