Javascript 如何在JQuery中按字符串日期对select下拉列表进行排序
我有一个选择下拉列表,它是dd/MM/yyyy日期格式的,但它也包含一个非日期选项。排序时如何取消非日期选项 排序功能:Javascript 如何在JQuery中按字符串日期对select下拉列表进行排序,javascript,jquery,Javascript,Jquery,我有一个选择下拉列表,它是dd/MM/yyyy日期格式的,但它也包含一个非日期选项。排序时如何取消非日期选项 排序功能: function str2Date(strD){ var from = strD.split("/"); var f = new Date(from[2], from[1] - 1, from[0]); return f; } $("#dateSelect option").sort(function(a, b) { consol
function str2Date(strD){
var from = strD.split("/");
var f = new Date(from[2], from[1] - 1, from[0]);
return f;
}
$("#dateSelect option").sort(function(a, b) {
console.log($(a).val());
var compA = str2Date($(a).val());
var compB = str2Date($(b).val());
return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
});
日期选择:
<select id='dateSelect'>
<option value="All">All</option>
<option value=" "> </option>
<option value="01/08/2013">01/08/2013</option>
<option value="01/11/2010">01/11/2010</option>
<option value="01/12/2014">01/12/2014</option>
<option value="02/01/2015">02/01/2015</option>
<option value="02/03/2015">02/03/2015</option>
<option value="02/06/2016">02/06/2016</option>
<option value="02/10/2013">02/10/2013</option>
<option value="02/11/2011">02/11/2011</option>
</select>
如果A无效,但B有效,请将其放在前面。 如果A有效,但B无效,请将其放在后面 常量选项=[ 01/08/2013, 01/11/2010, 01/12/2014, 全部的 02/01/2015, 02/03/2015, , 02/06/2016, 02/10/2013, 02/11/2011, ]; 函数str2DatestrD{ var from=strD.split/; var f=新日期从[2],从[1]-1,从[0]; 返回f; } 函数isValidDatestr{ return!isNaNDate.parsestr; } options.sort功能a、b{ 如果!IsValidDatatea&&IsValidDatateb{ 返回-1; } 如果IsValidDatatea&!IsValidDatateb{ 返回1; } var compA=str2Datea; var compB=str2Dateb; 返回compA