如何更改 select2 选择框的值
How to change the value of select2 selectbox?
days_of_week = [{id: 0, text: "Monday"},
{id: 1, text: "Tuesday"},
{id: 2, text: "Wednesday"},
{id: 3, text: "Thursday"},
{id: 4, text: "Friday"},
{id: 5, text: "Saturday"},
{id: 6, text: "Sunday"}]
$("#test").select2({
data: days_of_week
})
$("#date").datepicker({
format: "yyyy-mm-dd"
})
$("#date").datepicker().on("changeDate", function(event) {
var selected_date = $("#date").val()
var day_name = moment(selected_date, "YYYY-MM-DD").format("dddd")
$("#test").val(day_name)
})
所以基本上我在这里试图做的是从datepicker
中选择一个日期使用 moment
获取该日期的日期名称,并将$("#test").select2()
的值更改为所选day_name
但最终发生的是 $("#test").select2()
的值已更改,但它已更改为空。
比如说。我 select2 的默认值是一个"Monday"
选择一个日期,select2 的当前值现在为空。
我们如何使用 jquery 更改 select2 的值?
我已经在这里阅读了其他较旧的帖子。 但它们不起作用。
在此示例中,select2 选择框的value
是 ID (0-6)。您正在尝试将值设置为选择框的标签。此外,您还需要使用...在select2框中手动触发"更改"事件。 .trigger("change");
根据文档。
所以你必须做这样的事情:
$("#date").datepicker().on("changeDate", function(event) {
var selected_date = $("#date").val();
//var day_name = moment(selected_date, "YYYY-MM-DD").format("dddd");
var day_index = moment(selected_date, "YYYY-MM-DD").format("d"); //returns day of week 0-6
$("#test").val(day_index).trigger("change");
})
PS:你的javascript缺少一大堆分号
相关文章:
- 选择后更改值
- SVG/JavaScript:尝试选择和更改多边形点
- 选择框更改后Jquery更改html
- HighCharts:3D柱形图在选择时更改边框颜色
- Javascript/Jquery将选择列表更改为单选按钮
- 日期选择器更改事件抛出”;TypeError:字符串不是函数;
- 如何根据用户选择动态更改多个复选框的编号
- 选择标记更改事件问题
- onchange Jquery 在使用选择器更改值时不起作用
- 针对各种选择框更改验证单个表单的特定字段-jQuery
- 使用JQuery通过下拉选择动态更改PHP值
- 使用选择选项更改多个跨度值
- 单击j-query按钮时,选择不更改的列表文本
- 下拉选择如何更改数据
- JavaScript/jQuery:在选择列表更改时更新HTML
- 如何使用Jquery基于多个选择框更改总和
- 如何检测从数据列表中选择时更改的输入字段
- 根据选择值更改表单输入的数量
- 使用“选择值”更改对象特性
- 使用选择选项更改类型和主题