JQuery设置下拉列表框选择选项 - 不是按值,而是按显示文本

bar*_*ker 1 html javascript jquery

这可能已经回答了,但我无法在任何地方找到已回答的问题......

假设我们有以下HTML ...

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Dropdown Test</title>
    </head>
    <body>
        <select name="myDropDownListName" id="myDropDownListID" class="dropdown">
            <option selected="selected" value="0">Please select a value...</option>
            <option value="1">My Custom Value 1</option>
            <option value="2">My Custom Value 2</option>
            <option value="3">My Custom Value 3</option>
        </select>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我不知道索引的"值"值,那么JQuery命令将"我的自定义值2"设置为下拉列表框中当前选择的选项是什么样的,并且只能通过文本"我的"识别项目自定义价值2'?

Ale*_*har 5

您可以使用jquery .filter():

$('#myDropDownListID option').filter(function() {
    //you can use this.innerText too
    return $(this).text() === 'My Custom Value 2';
}).prop('selected', true);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="myDropDownListName" id="myDropDownListID" class="dropdown">
  <option selected="selected" value="0">Please select a value...</option>
  <option value="1">My Custom Value 1</option>
  <option value="2">My Custom Value 2</option>
  <option value="3">My Custom Value 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)