我有一个选择控件,在一个javascript变量中我有一个文本字符串。
使用jQuery,我想把选择控件的选定元素设置为具有我所拥有的文本描述的项目(而不是我没有的值)。
我知道通过值来设置它是很琐碎的,例如
$("#my-select").val(myVal);
但我对通过文本描述进行设置感到有些困惑。我想一定有办法从文本描述中获取数值,但我的大脑在周五下午无法解决这个问题。
var text1 = 'Two';
$("select option").filter(function() {
//may want to use $.trim in here
return $(this).text() == text1;
}).prop('selected', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
<option value="0">One</option>
<option value="1">Two</option>
</select>
var text1 = 'Two';
$("select option").filter(function() {
//may want to use $.trim in here
return $(this).text() == text1;
}).attr('selected', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
<select>
<option value="0">One</option>
<option value="1">Two</option>
</select>
$('select').val('1'); // selects "Two"
$('select').val('Two'); // also selects "Two"
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<select>
<option value="0">One</option>
<option value="1">Two</option>
</select>