gpt4 book ai didi

javascript - 如何在表中激活 Bootstrap 日期选择器?

转载 作者:行者123 更新时间:2023-12-03 03:50:04 24 4
gpt4 key购买 nike

我有一个脚本,可以将一行附加到表中。每行都有两个日期选择器文本框,分别为 start_dateend_date

var rows = "";
$("#btn_add").on('click', function(i){
var ct_row = $("#t_activity tr").not('.header').length+1;

rows = "<td class='text-center'><div class='date_set date_2'>";
rows += "<input type='text' class='form-control date dt_set' placeholder='start' onCopy='return false'";
rows += " onDrag='return false' onDrop='return false' onPaste='return false' onkeypress='return false' />";
rows += "</div></td>";

rows += "<td><div class='date_end date_2'>";
rows += "<input type='text' class='form-control date dt_end' placeholder='Finish' onCopy='return false'";
rows += " onDrag='return false' onDrop='return false' onPaste='return false' onkeypress='return false' />";
rows += "</div></td>";

$("#t_activity").append("<tr class='tr_content'>"+rows+"</tr>");
});

如果我将datepicker脚本放在附加后的按钮点击事件中,它可以工作,但我需要在datepicker之外处理datepicker 按钮事件。这是日期选择器脚本:

//START
$('.date_set .date').datepicker({
startView : 0,
forceParse : true,
autoclose : true,
format : "dd/mm/yyyy",
todayHighlight : true,
}).on('changeDate', function(selected){
var minDate = new Date(selected.date.valueOf());
$('.date_end .date').datepicker('setStartDate', minDate);
});

$('.date_end .date').datepicker({
startView : 0,
todayBtn : "linked",
forceParse : true,
autoclose : true,
format : "dd/mm/yyyy",
todayHighlight : true,
}).on('changeDate', function (selected) {
$('.date_set .date').datepicker('setEndDate', selected.date);
});
//END

我尝试像这样更改脚本,但它无法显示日期选择器:

$("#t_activity tbody").on('click','.date_set .date',function(){ 
$(this).closest('tr').find('div .dt_set').datepicker({
startView : 0,
forceParse : true,
autoclose : true,
format : "dd/mm/yyyy",
todayHighlight : true,
}).on('changeDate', function(selected){
var minDate = new Date(selected.date.valueOf());
$('.date_end .date').datepicker('setStartDate', minDate);
});
});

最佳答案

首先,您需要将输入本身声明为日期选择器。因此,在第一种情况下,它将是类 dt_set 而不是 date_set

其次,使用委托(delegate)方法时,可以使用focus事件,而不是click事件

$('#t_activity').on('focus',".dt_set", function(){
});

演示:https://jsfiddle.net/zw4a8pfv/

或者,如果您在 table 中使用 tbody,您也可以按如下方式声明它

$('#t_activity tbody').on('focus',".dt_set", function(){
});

演示:https://jsfiddle.net/zw4a8pfv/1/

关于javascript - 如何在表中激活 Bootstrap 日期选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45204499/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com