我有一個由CMS創建的下拉列表,我無法訪問源代碼。下拉列表提供了一組從1902年到2040年不等的日期。我想刪除某個點後的所有日期。我知道我可以使用下面的jQuery來taget具體日期,並刪除它們:通過jQuery從下拉列表中刪除選項集
$("#field_22_year option[value='2036']").remove();
但是,什麼是刪除一組數字的最有效的方式,說1996年之後的一切嗎?
我有一個由CMS創建的下拉列表,我無法訪問源代碼。下拉列表提供了一組從1902年到2040年不等的日期。我想刪除某個點後的所有日期。我知道我可以使用下面的jQuery來taget具體日期,並刪除它們:通過jQuery從下拉列表中刪除選項集
$("#field_22_year option[value='2036']").remove();
但是,什麼是刪除一組數字的最有效的方式,說1996年之後的一切嗎?
George Mavritsakis的答案是合適的。 但你也可以做到這一點:
$('#field_22_year option[value]').each(function() {
if($(this).attr("value") > 2036) { $(this).remove(); };
});
使用
$('#field_22_year option[value]').filter(function() {
return $(this).attr("value") > 1996;
}).remove();
在這裏看到如何在這裏使用過濾器:Jquery filter()
function remove_date_after(initial_date){
$('#field_22_year').children().each(function(){
if($(this).val() > initial_date)
$(this).remove();
});
}
這裏初始日期是要刪除的下拉選項的值。例如,您可以撥打電話remove_date_after(1996)
,這將刪除所有值大於1996的選項。
這很好,非常感謝! – Kev