jquery on.click在第一次点击时没有工作(带有动态元素)

时间:2014-06-30 10:07:39

标签: jquery jquery-ui onclick jquery-ui-datepicker

我正在努力解决以下问题:我动态创建输入元素,并尝试将日期选择器附加到它。但它只有在我点击输入元素之外的某个位置然后再次输入时才有效。控制台日志在第一次点击时工作正常,所以我不知道这里有什么问题?

$(document).ready(function(){
   $("div.single_condition").on("click", "input", function(){
        if($("select.select_operator").val() == '>'){
            console.log("O.K.");
            $(this).datepicker();
        }
        else {
            console.log("NOT O.K.");
        }
    });
});

1 个答案:

答案 0 :(得分:3)

即使使用.datepicker()正确地将日期选择器绑定到输入,您也需要在第一次点击时显示它。

试试这段代码,

$(this).datepicker().datepicker("show");

Demo

更改了JS

$("div.single_condition").on("click", "input", function () {
    if ($("select.select_operator").val() == '>') {
        console.log("O.K.");
        $(this).datepicker().datepicker("show");
    } else {
        console.log("NOT O.K.");
    }
});

建议 :在追加动态元素而不是.datepicker()后绑定click