首页 > 解决方案 > 下拉选择中的月份顺序不正确

问题描述

我需要一个下拉选择到期月份 [Jan, Feb....Dec],每个选项的值分别为 [01(Jan),02(Feb),03,.....12]。我用过jquery。

但它显示 10 月 10 日 11 月 11 日 12 月 12 日 1 月 1 日 .....等等。

我首先需要一月。

  var parent = $('#main_div');
  var line_segment = $('<div>');
  var line_segment_nobackground = $('<div>');
  var row_wrapper = $('<div>',{'class':'row_wrapper_leftmargin'});
  var D_segment = line_segment.clone();
  var D_wrapper = row_wrapper.clone();
  var D_word = $('<div>',{ 'class':'segment_text_P text_align 
         padding_top_5', text:'Expiry Month' });
  var D_divider = $('<div>',{ 'class':'segment_5 text_calign padding_top_5', text:':' });
  var D_field = $('<select>', { 'class':'select_AccL', id:"month" });
  var data = {
    '01': 'January',
    '02': 'February',
    '03':'March',
    '04':'April',
    '05':'May',
    '06':'June',
    '07':'July',
    '08':'August',
    '09':'September',
    '10':'October',
    '11':'November',
    '12':'December'
}   

for(var val in data) {
    $('<option />', {value: val,text: data[val]}).appendTo(D_field);
}

//or wherever it should be

   D_wrapper.append(D_word);
   D_wrapper.append(D_divider);
   D_wrapper.append(D_field);
   D_segment.append(D_wrapper);
   parent.append(D_segment);

标签: jqueryhtmldrop-down-menu

解决方案


  var data = [];
  data['1'] = 'January - 01';
  data['2'] = 'February - 02';
  data['3'] = 'March - 03';   
  data['4'] = 'April - 04';
  data['5'] = 'May - 05';
  data['6'] = 'June - 06';
  data['7'] = 'July - 07';
  data['8'] = 'August - 08';
  data['9'] = 'September - 09';
  data['10'] =  'October - 10';
  data['11'] = 'November - 11';
  data['12'] = 'December - 12';

  for(var val in data) {
  $('<option />', {value: ("0" + val).slice(-2),text: 
   data[val]}).appendTo(D_field);
   }

谢谢我使用数组来存储数据,还参考了以下解决方案:

如何通过将 0 附加到个位数数字来格式化数字?

我需要以如下形式发送值:01 表示(jan),(02)表示 feb ......很快,因为我正在为信用卡详细信息创建一个表单,该表单链接到支付网关。所以,我认为在发送数据时将 0 添加到单个数字是解决方案。然而,选项中的值可以是 1(jan)、2(feb),以便它以正确的顺序显示。


推荐阅读