[英]Jquery to sort drop down list in a table row
How can I sort the drop down list below? 如何对下面的下拉列表进行排序? I need to sort it by name as well as remove certain options say the ones beginning with 'S'. 我需要按名称对其进行排序,并删除某些以“ S”开头的选项。
<table>
<tr>
<td class="bold"><a href="/admin/programs/" target="_top">Program Link</a></td>
<td>
<select name="ProgramLink">
<option value="0">None Selected</option>
<option value="2985">Cluster</option>
<option value="2986">Seminar</option>
<option value="2991">Services</option>
<option value="2982">Biliteracy</option>
<option value="2983">Learner MEC</option>
<option value="2987">Day Class</option>
</select>
</td>
</tr>
</table>
I think this code plus adding order
class to your select may help: 我认为这段代码加上将order
类添加到您的选择中可能会有所帮助:
$('select.order').each(function() {
var options = [];
$(this).find('option').each(function() {
if ($(this).text().indexOf('S') != 0) {
options.push({value: $(this).val(), label: $(this).text()});
};
})
if (options.length > 0) {
options = options.sort(function(a, b) {
var x = a['label']; var y = b['label'];
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
});
var options_html = '';
$.each(options, function(i, option) {
options_html += '<option value="'+option.value+'">'+option.label+'</option>';
});
$(this).html(options_html);
};
})
Note: your html code lacks the </select>
;) 注意:您的html代码缺少</select>
;)
var options = $('select option');
options.detach().sort(function(a,b) {
var at = $(a).text();
var bt = $(b).text();
return (at > bt)?1:((at < bt)?-1:0);
});
options.appendTo('select');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.