[英]Jquery to sort drop down list in a table row
如何對下面的下拉列表進行排序? 我需要按名稱對其進行排序,並刪除某些以“ 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>
我認為這段代碼加上將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);
};
})
注意:您的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.