为什么jquery datepicker会一直出现?

时间:2010-10-22 09:25:40

标签: jquery datepicker

这是我的问题。似乎第一次在动态添加的输入上点击数据贴图时不显示(我必须在其上单击两次或更多次,或者如果我点击输入(标签区域)上方最好),是否有人看到问题。我尝试了很多live(),bind()。hasDatapicker和#datep1变种。如果可能,请先测试你的答案。谢谢。

脚本方:

 <script>
$(document).ready(function(){
    var div_data='<div id="div_data" class="data"><br />'+
   'Dates from: <input type="text" id="datep1" size="10" name="data1">'+
   ' to: <input type="text" id="datep2" size="10" name="data2">&nbsp;&nbsp;(Optional fields)</div>'; 
    $("#rod_sem").after(div_data);
    $(".br1").remove();
$(":input[name='pasirink']").click(function(){
    var currentId = $(this).attr("id");
    if (currentId == 'rod_sem')
        {
        $(".br1").remove();
        $(".data").remove(); // this is done to prevent repetitive additions
        $("#rod_sem").after(div_data); // here comes datepicker input

        $("#datep1").live("click", function() {
            $("#datep1").datepicker();
        })

        }

    })
})
</script>

HTML:

<label id="la_rod_sem" for="rod_sem">Seminars</label>
<input type="radio" name="pasirink" id="rod_sem" value="rod_sem" checked="checked" />
<br class="br1" /> 
<br class="br1" />
<label id="la_rod_klaus" for="rod_klaus">Attendees</label>
<input type="radio" name="pasirink" id="rod_klaus" value="rod_klaus" />
<br />
<br />

2 个答案:

答案 0 :(得分:1)

尝试jQuery LiveQuery plugin

   $("#datep1").livequery("click", function(event) {
        $(this).datepicker();
   });

答案 1 :(得分:0)

更改此部分:

$("#datep1").live("click", function() {
        $("#datep1").datepicker();
    })

对此:

$("#datep1").datepicker();

单击输入时会激活datepicker插件,因此您无需在单击事件中将其包装。