我有一个带有几个选项的选择器。页面上还有一个元素,其中包含数值。我需要将SELECTED属性添加到与元素中的值匹配的选项。
var myVal = $(this).closest('.panel').find('.dist').text();
$(this).closest('.panel').find('.mySelector option[value='+myVal +']').prop('selected', 'selected');
<select class="mySelector">
<option>1
<option>2
<option>3
</select>
<span class="dist">3</span>
我想我错过了什么......
答案 0 :(得分:1)
您的选项标签缺少值属性和结束标记。
我稍微修改了你的例子并添加了一个按钮来演示解决方案。
$("#selectButton").click(function() {
var myVal = $(this).closest('.panel').find('.dist').text();
$(this).closest('.panel').find('.mySelector option[value='+myVal +']').prop('selected', 'selected');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="panel">
<select class="mySelector">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<span class="dist">3</span>
<input id="selectButton" type="button" value="select option" />
</div>