对<select></select>标签中的option进行排序,option具有两个属性,一个是text一个是value
由于text一般都是展示的内容,并不是我们想要进行的排序字段,而value是隐藏的。
所以我们可以通过value来进行排序。
PS:在用下拉列表框进行选中一个item时,用$(this).selected=true不如用
$(this).attr(‘selected‘,true)好,因为在某些情况下,前者说不定就不起中用了的,
我是有亲身体验的。
排序js如下(引入jQuery)
xx=$('#complete option').sort(function(a,b){ var aText = $(a).val(); var bText = $(b).val(); if(aText>bText) return 1; if(aText<bText) return -1; return 0; }) ; $('#complete').empty(); $('#complete').append(xx);
<script language="javascript"> $(document).ready(function() { //绑定下拉框change事件,当下来框改变时调用 SelectChange()方法 $("#selectID").change(function() { SelectChange(); }); }) function SelectChange() { //获取下拉框选中项的text属性值 var selectText = $("#selectID").find("option:selected").text(); alert(selectText); //获取下拉框选中项的value属性值 var selectValue = $("#selectID").val(); alert(selectValue); //获取下拉框选中项的index属性值 var selectIndex = $("#selectID").get(0).selectedIndex; alert(selectIndex); ////获取下拉框最大的index属性值 var selectMaxIndex = $("#selectID option:last").attr("index"); alert(selectMaxIndex); } function aa() { //设置下拉框index属性为5的选项 选中 $("#selectID").get(0).selectedIndex = 5; } function bb() { //设置下拉框value属性为4的选项 选中 $("#selectID").val(4); } function cc() { //设置下拉框text属性为5的选项 选中 $("#selectID option[text=5]").attr("selected", "selected"); $("#yyt option:contains('5')").attr("selected", true); } function dd() { //在下拉框最后添加一个选项 $("#selectID").append("<option value='7'>7</option>"); } function ee() { //在下拉框最前添加一个选项 $("#selectID").prepend("<option value='0'>0</option>") } function ff() { //移除下拉框最后一个选项 $("#selectID option:last").remove(); } function gg() { //移除下拉框 index属性为1的选项 $("#selectID option[index=1]").remove(); } function hh() { //移除下拉框 value属性为4的选项 $("#selectID option[value=4]").remove(); } function ii() { //移除下拉框 text属性为5的选项 $("#selectID option[text=5]").remove(); } </script>
原文:http://blog.csdn.net/hhhhh5555666/article/details/42390761