大家好我选择一个选项时遇到问题。
我有这个,我排序,没关系,但问题是所选项目是最后一个选项,我想选择所选项目,但如何?我无法选择选项值因为我生成动态选项:
$('#MySelect').html($('#MySelect option').sort(function (a, b) { return a.text == b.text ? 0 : a.text < b.text ? -1 : 1;}));
// I tried this ?
$('#MySelect option:selected').prop('selected', true);
<select id="MySelect">
<option value="D">D</option>
<option value="B">B</option>
<option value="A" selected>A</option>
<option value="C">C</option>
</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我想选择没有值的所选项目,但只能感谢“已选择”
谢谢你的帮助
答案 0 :(得分:1)
在使用.sort()
之前获取所选值,然后使用$('#MySelect').val(t);
再次设置选择。 (t
=选定值)
var t = $('#MySelect option:selected').val();
$('#MySelect').html($('#MySelect option').sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1;
}))
$('#MySelect').val(t);
以下示例
var t = $('#MySelect option:selected').val();
$('#MySelect').html($('#MySelect option').sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1;
}))
$('#MySelect').val(t);
<select id="MySelect">
<option value="D">D</option>
<option value="B">B</option>
<option value="A" selected>A</option>
<option value="C">C</option>
</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:0)
在排序之前获取所选选项参考,然后使用prop()
方法选择它。
// get the selected option and cache it for later use
var $opt = $('#MySelect option:selected');
// sort the options
$('#MySelect').html($('#MySelect option').sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1;
// or use
// return a.text.localeCompare(b.text);
}));
// set the selected property to the calched option
$opt.prop('selected', true);
<select id="MySelect">
<option value="D">D</option>
<option value="B">B</option>
<option value="A" selected>A</option>
<option value="C">C</option>
</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>