1

ソース コードにアクセスできない CMS によって作成されたドロップダウン リストがあります。ドロップダウン リストには、1902 年から 2040 年までの一連の日付が表示されます。特定の時点以降のすべての日付を削除したいと考えています。次のjQueryを使用して特定の日付をタグ付けして削除できることはわかっています。

$("#field_22_year option[value='2036']").remove();

しかし、1996 年以降のすべての数字を削除する最も効率的な方法は何でしょうか?

4

3 に答える 3

3

George Mavritsakis の答えは適切です。ただし、次の方法でも実行できます。

$('#field_22_year option[value]').each(function() {
    if( $(this).attr("value") > 2036 ) { $(this).remove(); };
});
于 2013-10-05T10:38:03.953 に答える
3

使用する

$('#field_22_year option[value]').filter(function() {
  return $(this).attr("value") > 1996;
}).remove();

ここでフィルターを使用する方法を参照してください: Jquery filter()

于 2013-10-05T10:23:47.257 に答える
1
function remove_date_after(initial_date){
       $('#field_22_year').children().each(function(){
            if($(this).val() > initial_date)
                   $(this).remove();
       });
}

ここで、最初の日付は、ドロップダウン オプションを削除する値です。たとえば、 as を呼び出すとremove_date_after(1996)、1996 より大きい値を持つすべてのオプションが削除されます。

于 2013-10-05T10:24:16.993 に答える