javascript 将下拉值设置为月份在 IE11 中不起作用
javascript set dropdown value to month not working in IE11
我正在使用以下代码将下拉值设置为当前月份,它在 Chrome 和 Edge 中有效,但在 IE 11 中该值为空。
month = currentDate.toLocaleString(locale, {month:"short"})
document.getElementById("month").value = month
month 包含值"Jul",是字符串类型,我可以将其设置为文本框的值。
如果我手动指定月份 = "Jul",它会在下拉列表中设置值。
IEs toLocalString()
向字符串中添加了一些 invisible Unicode characters 因此下拉选项的值和 month
的值实际上并不相同。
如果它不会导致跨语言环境兼容性问题,那么您可以 trim 这些字符 replace
。
或者,如果您知道下拉列表的顺序,则获取月份作为数字并使用 selectedIndex
currentDate = new Date()
locale = 'en-US'
month = currentDate.toLocaleString(locale, {month:"short"})
document.getElementById("month").value = month.replace(/[^A-z]/g,'')
// Alternatively
//document.getElementById("month").selectedIndex = currentDate.getMonth();
<select name="dates" id="month">
<option value="Jan">Jan</option>
<option value="Feb">Feb</option>
<option value="Mar">Mar</option>
<option value="Apr">Apr</option>
<option value="May">May</option>
<option value="Jun">Jun</option>
<option value="Jul">Jul</option>
<option value="Aug">Aug</option>
<option value="Sep">Sep</option>
<option value="Oct">Oct</option>
<option value="Nov">Nov</option>
<option value="Dec">Dec</option>
</select>
我正在使用以下代码将下拉值设置为当前月份,它在 Chrome 和 Edge 中有效,但在 IE 11 中该值为空。
month = currentDate.toLocaleString(locale, {month:"short"})
document.getElementById("month").value = month
month 包含值"Jul",是字符串类型,我可以将其设置为文本框的值。
如果我手动指定月份 = "Jul",它会在下拉列表中设置值。
IEs toLocalString()
向字符串中添加了一些 invisible Unicode characters 因此下拉选项的值和 month
的值实际上并不相同。
如果它不会导致跨语言环境兼容性问题,那么您可以 trim 这些字符 replace
。
或者,如果您知道下拉列表的顺序,则获取月份作为数字并使用 selectedIndex
currentDate = new Date()
locale = 'en-US'
month = currentDate.toLocaleString(locale, {month:"short"})
document.getElementById("month").value = month.replace(/[^A-z]/g,'')
// Alternatively
//document.getElementById("month").selectedIndex = currentDate.getMonth();
<select name="dates" id="month">
<option value="Jan">Jan</option>
<option value="Feb">Feb</option>
<option value="Mar">Mar</option>
<option value="Apr">Apr</option>
<option value="May">May</option>
<option value="Jun">Jun</option>
<option value="Jul">Jul</option>
<option value="Aug">Aug</option>
<option value="Sep">Sep</option>
<option value="Oct">Oct</option>
<option value="Nov">Nov</option>
<option value="Dec">Dec</option>
</select>