【问题标题】:jquery ui datepicker not working on appended divjquery ui datepicker不适用于附加的div
【发布时间】:2017-02-21 09:31:46
【问题描述】:

嗨,我想在附加的 div 上显示 datepicker,但它只影响第一次加载 div。 当我尝试在附加的 div 日期选择器上附加 div 时不起作用。

这是我的代码。

$("body").on("focus", ".datepickers", function() {
    var $context = $(this).parents('.entry_day_plan');
    $($(this), $context).datepicker({
        showOtherMonths: true,
        selectOtherMonths: true,
        dateFormat: "dd/mm/yy",
        minDate: 0,
        onSelect: function(selectedDate) {
            //$("#cal4").datepicker("setDate", selectedDate);
        }
    });
});
$(function() {
    $("body").on('click', '.btn-add', function(e) {
        e.preventDefault();
        var controlForm = $('.controls_day_plan:first'),
            currentEntry = $(this).parents('.entry_day_plan:first'),
            newEntry = $(currentEntry.clone()).appendTo(controlForm);
        newEntry.find('input').val('hello');
        controlForm.find('.entry_day_plan:not(:last) .btn-add').removeClass('btn-add').addClass('btn-remove').removeClass('btn-success').addClass('btn-danger').html('<span class="glyphicon glyphicon-minus"></span>');
        newEntry.find(".datepickers").removeClass('hasDatepicker');
    }).on('click', '.btn-remove', function(e) {
        $(this).parents('.entry_day_plan:first').remove();
        e.preventDefault();
        return false;
    });
});

这是一个html代码...

<div class="panel-body dayplan">
    <!--Day Plan-->

    <div class="control-group" id="fields">
        <label class="control-label" for="field1">Please add Day Plan </label>
        <div class="controls_day_plan">
            <div class="entry_day_plan input-group col-sm-12 col-xs-12 ">
                <div class="form-group col-sm-2 col-xs-12">
                    <label for="exampleInputnumber"> Excursion Name </label>
                    <input type="text" name="itnryname[]" class=" form-control form_line_only" placeholder="EXCURSIONS NAME">
                </div>
                <div class="form-group col-sm-2 col-xs-12">
                    <label for="exampleInputnumber"> Insert Dates </label>
                    <input type="text" name="itndate[]" class="datepickers form-control form_line_only dateit" placeholder="DD/MM/YYYY">
                </div>
                <div class="form-group col-sm-2 col-xs-12">
                    <label for="exampleInputnumber"> Insert Day </label>
                    <select name="itnday[]" class="form_line_only form-control ">
                        <option>Monday</option>
                        <option>Tuesday</option>
                        <option>Wednesday</option>
                        <option>Thursday</option>
                        <option>Friday</option>
                        <option>Saturday</option>
                        <option>Sunday</option>
                    </select>
                </div>
                <div class="form-group col-sm-2 col-xs-12">
                    <label for="exampleInputnumber"> Pickup From </label>
                    <input type="text" name="itnpickfrom[]" class=" form-control form_line_only" placeholder="HOTEL">
                </div>
                <div class="form-group col-sm-2 col-xs-12">
                    <label for="exampleInputnumber"> Pickup Time </label>
                    <input type="text" name="itnpick[]" class="time timepiker form-control form_line_only" placeholder="6:30 AM">
                </div>
                <div class="form-group col-sm-1 col-xs-12">
                    <label for="exampleInputnumber"> Dropoff </label>
                    <input type="text" name="itndrop[]" class="time timepiker form-control form_line_only" placeholder="7:00 PM">
                </div>

                <span class="input-group-btn day_plan pull-left">
                    <button class="btn btn-success  btn-add add_col" type="button"> <span class="glyphicon glyphicon-plus"></span> </button>
                </span>
            </div>

        </div>
    </div>
    <br>
    <small>(Press <span class="glyphicon glyphicon-plus gs"></span> to add another Day Plan)</small> </div>

谁能告诉我如何添加 datepicker 并获取它的值 ion appended div。

它已经在第一次加载 div 上工作,但在附加的 div 输入上没有工作...... 所有附加的输入都有相同的类..我做错了什么?请建议我..

这里是 jsfiidle demo

谢谢

【问题讨论】:

  • 为您的问题提供一个有效的小提琴链接。如果可以的话。!
  • 如果你能提供一个小提琴或 sn-p。会更好..
  • 好的,我会在 2 分钟内更新
  • 这里是 jsfiddel jsfiddle.net/milan9898/46bmL3hd
  • 加载时间“插入日期”日期选择器在单击添加按钮时工作正常,而不是日期选择器在第二个“插入日期”上不起作用..值更改也是第一个输入。抱歉英语不好。

标签: javascript jquery append jquery-ui-datepicker


【解决方案1】:

查看此pen

var datePickerOption = {
    showOtherMonths: true,
    selectOtherMonths: true,
    dateFormat: "dd/mm/yy",
    minDate: 0,
    onSelect: function(selectedDate) {}
}

$("body").on("focus", ".datepickers", function() {
    var $context = $(this).parents('.entry_day_plan');
    $($(this), $context).datepicker({
        showOtherMonths: true,
        selectOtherMonths: true,
        dateFormat: "dd/mm/yy",
        minDate: 0,
        onSelect: function(selectedDate) {}
    });
});

var count = 0;
$(function() {
    $("body").on('click', '.btn-add', function(e) {
        e.preventDefault();
        count++;
        var controlForm = $('.controls_day_plan:first'),
            currentEntry = $(this).parents('.entry_day_plan:first'),
            newEntry = $(currentEntry.clone()).appendTo(controlForm);

        newEntry.find('input.datepickers').val('').attr('id', 'input_' + count).datepicker(datePickerOption);
        controlForm.find('.entry_day_plan:not(:last) .btn-add')
            .removeClass('btn-add').addClass('btn-remove')
            .removeClass('btn-success').addClass('btn-danger')
            .html('<span class="glyphicon glyphicon-minus"></span>');
        newEntry.find(".datepickers").removeClass('hasDatepicker');


    }).on('click', '.btn-remove', function(e){
            $(this).parents('.entry_day_plan:first').remove();
            e.preventDefault();
            return false;
    });
});

【讨论】:

  • 你太棒了兄弟。非常感谢你的帮助。.. :)
  • @MilanParekh 快乐是我的全部 :),你也可以投票 ;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 1970-01-01
  • 2015-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多