我有一个这样的国家/地区列表:
该列表非常广泛。我需要能够单击按钮将焦点移动到指定的国家/地区。
StackOverflow 中有很多线程,但没有一个起作用。例如我尝试过这个:
var code = 40;
$('#id_resource-regions').val(code).scrollTop(160);
开发人员工具中没有响应,也没有错误/警告。 请注意,该列表是使用 django 表单和模板创建的。
最佳答案
- 选择您要查找的
选项
元素。 - 使用 .offset() 获取偏移顶部位置,所选选项元素的。
- 获取所选元素顶部的偏移量。
- 使用.scrollTop()滚动到所需的选项。
这是一个例子
var btn = $('button')
var select = $('select')
btn.on('click', function() {
var option = select.find("option:contains('item-30')");
var optionTop = option.offset().top
var selectTop = select.offset().top;
select.scrollTop(select.scrollTop() + (optionTop - selectTop));
option.prop('selected', true)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="" id="select" multiple="multiple">
<option value="">item-1</option>
<option value="">item-2</option>
<option value="">item-3</option>
<option value="">item-4</option>
<option value="">item-5</option>
<option value="">item-6</option>
<option value="">item-7</option>
<option value="">item-8</option>
<option value="">item-9</option>
<option value="">item-10</option>
<option value="">item-11</option>
<option value="">item-12</option>
<option value="">item-13</option>
<option value="">item-14</option>
<option value="">item-15</option>
<option value="">item-16</option>
<option value="">item-17</option>
<option value="">item-18</option>
<option value="">item-19</option>
<option value="">item-20</option>
<option value="">item-21</option>
<option value="">item-22</option>
<option value="">item-23</option>
<option value="">item-24</option>
<option value="">item-25</option>
<option value="">item-26</option>
<option value="">item-27</option>
<option value="">item-28</option>
<option value="">item-29</option>
<option value="">item-30</option>
<option value="">item-31</option>
<option value="">item-32</option>
<option value="">item-33</option>
<option value="">item-34</option>
<option value="">item-35</option>
<option value="">item-36</option>
<option value="">item-37</option>
<option value="">item-38</option>
<option value="">item-39</option>
<option value="">item-40</option>
</select>
<button>move to item 30</button>
关于javascript - 使用 jquery 向下滚动到单击按钮时选择的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45320734/