2016-09-20 97 views
0

我已经动态生成了文本框,并试图单独为每个文本框获取日期选择器。努力为datepicker获取动态创建的文本框

问题是如果我选择一个文本框并选择它将应用于所有文本框的日期。我不知道如何通过价值来获得结果。请原谅如果我的英文(或)我表达的方式是错误的。我会感谢你的帮助。

我的脚本调用日历:

<script type="text/javascript"> 
$(window).load(function() { 

    $('#mycalendar3').monthly({ 
     mode: 'picker1', 
     target: '#mytarget1', 
     setWidth: '370px', 
     startHidden: true, 
     showTrigger: '#mytarget1', 
     stylePast: true, 
     disablePast: true, 
        xmlUrl: 'events.xml' 
    }); 


       $('#mycalendar2').monthly({ 
     mode: 'picker1', 
     target: '.value1', 
     setWidth: '370px', 
     startHidden: true, 
     showTrigger: '.value1', 
     stylePast: true, 
     disablePast: true, 
        xmlUrl: 'events.xml' 
    }); 



switch(window.location.protocol) { 
case 'http:': 
case 'https:': 
// running on a server, should be good. 
break; 
case 'file:': 
alert('Just a heads-up, events will not work when run locally.'); 
} 

}); 

HTML代码:

<div style="display:inline-block; width:150px;"> 
        <input type="text" class="value1" id="mytarget" > 
     <div class="monthly" id="mycalendar2"></div> 
    </div> 


       <div style="display:inline-block; width:150px;"> 
     <input type="text" id="mytarget1"> 
     <div class="monthly" id="mycalendar3"></div> 
    </div> 
+0

没有看到上述代码的任何问题。有没有其他代码在这篇文章中丢失?文本框如何动态生成?你可以请出示该代码吗? – vijayP

+0

[动态创建的元素上的事件绑定?]的可能重复(http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements) –

+0

https://jsfiddle.net/ssoundar619/eav8hLwm/1/ –

回答

0

您需要使用事件jQuery的,我已经创建演示这里小提琴,

$(function() { 
 
    $("#datepicker").datepicker(); 
 
    $("button").on('click', function() { 
 
    $('.output').append('<input type="text" name="gentext" id="gent" />'); 
 
    $("#gent").datepicker(); 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h3>Normal input datepicker</h3> 
 
<p>Date: 
 
    <input type="text" id="datepicker"> 
 
</p> 
 
<button>generate</button> 
 
<h3>Generated input datepicker</h3> 
 
<div class="output"></div>

请在您的代码上应用相同的事件,它将处理生成的输入。