javascript - 根据表单输入更改 Datepicker 格式和输出
问题描述
如果这个问题已经得到回答,请提前道歉。我搜索但找不到答案。
我在网页上使用 datepicker,代码如下。
$(function() {
$("#datepicker").datepicker({
dateFormat:"DD, MM d, yy",
minDate: 0,
});
});
我也有以下表格。
<select id="language">
<option value="english">English</option>
<option value="french">French</option>
</select>
<button onclick="showDate()">Submit</button>
我想dayNames
根据所选选项更改日期选择器格式和值。我相信我需要一个if
操作员,但似乎无法让它正常工作。
因此,如果选择了“法语”选项,则 dateFormat 将为“DD d MM yy”,并且 dayNames 将设置为"dayNames: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"]"
.
然后生成的日期将出现在一个段落中。因此,如果选择法语,则日期将显示"mercredi 25 décembre 2019"
,如果选择英语,则日期将显示"Wednesday, December 25, 2019"
由于默认日期格式,日期将读取。
我对 JavaScript 和 jQuery 还很陌生,如果有任何见解,我将不胜感激。我最初考虑在选择“法语”时更改日历的本地化,但这可能会使事情变得过于复杂。
解决方案
感谢您的澄清!这是一个可以帮助您找到所需内容的答案。所有主流浏览器都可以使用 javascript 翻译日期.toLocaleDateString(language, options)
,因此我为您编写了一个可以运行的代码段,您可以随意使用。
注意:我已将您的选择更改为具有 toLocaleDateString 函数所需的语言环境字符串的值,并且您可以使用dateOptions
对象的格式进行调整。( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString )
所以getDate
datepicker 的方法返回一个 javascriptDate
对象,这是toLocaleDateString
. 并且currentLanguage
使用 jquery 设置变量以获取所选下拉项的值。
希望这可以帮助!
$(function() {
$("#datepicker").datepicker({
dateFormat:"DD, MM d, yy",
minDate: 0,
});
});
function showDate() {
var dateOptions = { weekday: "long", year: "numeric", month: "long", day: "numeric" };
var selectedDate = $("#datepicker").datepicker("getDate");
var currentLanguage = $("#language option:selected").val();
alert(selectedDate.toLocaleDateString(currentLanguage, dateOptions));
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<input id="datepicker">
<select id="language">
<option value="en-US">English</option>
<option value="fr-FR">French</option>
</select>
<button onclick="showDate()">Submit</button>
推荐阅读
- bluetooth - 与 Arduino 的 GPS 通信
- php - 无需大量代码即可将 PHP 插入代码网页设计中。解决了
- uml - 类图到序列图规则
- reactjs - 在 onClick 函数中调用更新函数时 useState 不重新渲染
- swift - ScrollView 中的 SwiftUI Picker 不正确
- python - 独立运行python包子模块进行自检;导入路径组合
- spring-boot - Grpc Spring Boot 启动器
- verilog - 如何在测试台的真值表中分配 Don't Care 值?
- ios - SwiftUI 视图未更新为 EnvironmentObject 更改
- c - 如何连接数字字符串,然后将其分配给“长”类型变量?