aselcrumb
是一个选择标签。
在更改时,我需要删除索引大于所选选项的所有选项。像这样:
$('#aselcrumb').on('change', function(){
let i = $(this).prop('selectedIndex');
$(this).children().gt(i).remove();
});
谢谢。
答案 0 :(得分:0)
您遇到的问题是gt()
不是一个函数。
要解决此问题,您可以在选择项中找到选定的option
,然后删除以下所有内容:
$('#aselcrumb').on('change', function() {
$(this).find('option:selected').nextAll().remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="aselcrumb" size="5">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
或者,您可以将:gt()
选择器与children()
一起使用,如下所示:
$('#aselcrumb').on('change', function() {
let i = $(this).prop('selectedIndex');
$(this).children(':gt(' + i + ')').remove();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="aselcrumb" size="5">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>