2012-11-29 37 views
0

下面的第一个脚本在单击时将简单文本(本例中为日期)转换为可编辑字段。然后,我想在点击动态生成的字段时弹出datepicker()日历,但我无法让日历显示给所有人。datepicker()将无法在动态生成的字段上工作

<script type="text/javascript"> 
    $(document).ready(function() { 
     var alreadyActive = ""; 
     $(".editable-date").on("click", function() { 
      if(!alreadyActive) { 
       OriginalText = $(this).text(); 
       divValue = $(this).attr('value'); 
       $(this).html("<form class='edit-date' ><input type='text' class='date_input' value='" + OriginalText + "' /><input type='submit' value='Update' /></form>"); 
       alreadyActive = "true"; 
      } 
     }); 
    }); 
</script> 
<script type="text/javascript"> 
    $(function() { 
     $(".date_input").datepicker(); 
    }); 
</script> 

我也试过下面的脚本调用datepicker()无济于事。

<script type="text/javascript"> 
    $(function(){ 
     $("body").on("click", ".date_input", function() { 
      $(this).datepicker(); 
     }); 
    }); 
</script> 
+0

我敢肯定你已经这样做了,但以防万一...你中引用的jQuery和jQueryUI的库您脚本在哪里? – gibberish

回答

3

你的第二次尝试接近,应该是:

$(this).datepicker().triggerHandler("focus"); 
+0

Wunderbar!我犹豫要这样做,因为我不知道如何做,但我很高兴我发现有人发现如何做到这一点! – racl101