我有一个修复选择html。如何使用jQuery
更改修复选择选项并使最后一个选项自动成为第一个选项
<select class="terms" id="128035">
<option class="term" id="1">ans1</option>
<option class="term" id="2">ans2</option>
<option class="term" id="-1">-- Please Select --</option>
</select>
我需要的是更改,请选择所有成为首选。 我使用反向阅读但仍然不起作用。如果有人可以帮忙。
<select class="terms" id="128035">
<option class="term" id="-1">-- Please Select --</option>
<option class="term" id="1">ans1</option>
<option class="term" id="2">ans2</option>
</select>
下面的代码所做的是记住节点,然后放置在所需的位置,同时将其作为前置函数逻辑的一部分从父节点中删除。
var last = $('#-1')
$('#128035').prepend(last)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="terms" id="128035">
<option class="term" id="1">ans1</option>
<option class="term" id="2">ans2</option>
<option class="term" id="-1">-- Please Select --</option>
</select>
您也可以在没有带有选定属性的 jQuery 的情况下执行此操作。只需将此行放在选择块内的任何位置即可。
<option selected="selected">-- Select me--</option>
还值得注意的是,不建议使用纯数字作为 HTML 元素的 id。让它id="a1"
,id="a2"
什么的。
试试这个:
$('#128035 option[id="-1"]').insertBefore('#128035 option:first');
$("#128035").val($("#128035 option:first").val());
第一行将option
id
=-1
移动到第一个option
之前
第二行将第一个option
设置为selected
。
$('#128035 option[id="-1"]').insertBefore('#128035 option:first');
$("#128035").val($("#128035 option:first").val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="terms" id="128035">
<option class="term" id="1">ans1</option>
<option class="term" id="2">ans2</option>
<option class="term" id="-1">-- Please Select --</option>
</select>
选项 2
$('#128035 option[id="-1"]').insertBefore('#128035 option[id="1"]');
$("#128035").val($("#128035 option:first").val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="terms" id="128035">
<option class="term" id="1">ans1</option>
<option class="term" id="2">ans2</option>
<option class="term" id="-1">-- Please Select --</option>
</select>
使用 :first((,:last(( 和 .before((。试试这个:
$("select option:first").before($("select option:last")); //this will move last option before first option.
$("select option:first").attr("selected",true); //this will select first option by default.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<select class="terms" id="128035">
<option class="term" id="1">ans1</option>
<option class="term" id="2">ans2</option>
<option class="term" id="-1">-- Please Select --</option>
</select>
试试这个:
$( document ).ready(function() {
var options = $('#128035 option');
$(options[2]).insertBefore( $( options[ 0 ] ) );
$("#128035").val($("#128035 option:first").val());
});
使用insertBefore或insertAfter插入非常容易,然后您只需将第一个选项的默认值设置为您的选择。
JSFIDDLE: https://jsfiddle.net/hj7vL9xy/
您可以使用:last
和:first
将最后一个选项视为第一个选项。
在下面的代码中,:last
将获得最后一个选项,:first
用于insertBefore
第一个选项:
$('#128035 option:last').insertBefore('#128035 option:first');
$('#128035').val($('#128035 option:first').val());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="terms" id="128035">
<option class="term" id="1">ans1</option>
<option class="term" id="2">ans2</option>
<option class="term" id="-1">-- Please Select --</option>
</select>