使用JS在已填充的选择标记中选择一个选项

时间:2018-08-12 11:26:55

标签: javascript

假设我有一个select标签,如下所示:

<select name='selectBox' id='selectBox'>
    <option value='1'>one</option>
    <option value='2'>two</option>
    <option value='3'>three</option>
    <option value='4'>four</option>
    <option value='5'>five</option>
</select>

我在变量中有一个值,例如:selectVal = 'three',我想基于text而不是基于value选择选项。

我看过

$('#selectBox').prop('selectedIndex', 3);
$('#selectBox').selectmenu('refresh');

但是我想在选项text上进行选择。我是新手,非常感谢您的帮助!

谢谢。

4 个答案:

答案 0 :(得分:1)

您必须获取选项索引:

 var options = $("#selectBox > option");
 $('#selectBox').prop('selectedIndex', options.index(":contains(three)"));

答案 1 :(得分:1)

尝试:-

var text = "five"
$(document).ready(function() {
  $('#selectBox option').each(function(index){
    if($(this).text() === text){
        $('#selectBox').prop('selectedIndex', index);
    }
  })
});

答案 2 :(得分:1)

您可以使用each()尝试以下方式:

let selectVal = 'three';
$('#selectBox option').each(function(){ 
  if($(this).text() == selectVal)
    $('#selectBox').prop('selectedIndex', 2);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name='selectBox' id='selectBox'>
    <option value='1'>one</option>
    <option value='2'>two</option>
    <option value='3'>three</option>
    <option value='4'>four</option>
    <option value='5'>five</option>
</select>

答案 3 :(得分:0)

这是纯香草js

var element = document.getElementById(id);
element.value = valueToSelect;