使用Jquery将选择列表设置为当前日期

我正在使用Jquery mobile,我有这两个选择列表,我想将to列表的选定选项设置为当前日期和月份..

编辑我正在使用JqueryMobile

2个列表的代码:

تاريخ اخر دورة شهرية : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 يناير فبراير مارس إبريل مايو يونيو يوليو أغسطس سبتمبر أكتوبر نوفمبر ديسمبر

选择当前日期和月份的代码..但它不起作用!

 var today = new Date(); var day = today.getDate(); var month = today.getMonth(); alert(month); $('#select-choice-day option').get(day).attr('selected','selected'); $('#select-choice-month option').get(month).attr('selected','selected'); 

你的代码的问题是jquery对象上的.get()返回指定索引处的DOMElement而不是jquery对象,所以你不能在它上面使用.attr()( source )。

这是一段有效的代码:

 $('#select-choice-day option[value=' + day + ']').prop('selected',true); $('#select-choice-month option[value=' + (month+1) + ']').prop('selected',true); 

请注意, .prop()仅适用于jquery 1.6及更高版本。 如果您使用的是旧版本的库,请使用attr()

这是一个jsfiddle

尝试

 var today = new Date(); $('#select-choice-day').val( today.getDate() ); $('#select-choice-month').val( today.getMonth() + 1 ); 

请记住向.getMonth()添加1 ,因为它是零索引的。

这是一个例子。

试试这个-

 $('#select-choice-day option[value=' + day + ']').attr('selected',true); $('#select-choice-month option[value=' + (month+1) + ']').attr('selected',true); 

工作实例