代码之家  ›  专栏  ›  技术社区  ›  arunas_t

为什么jquery数据采集器显示不一致?

  •  0
  • arunas_t  · 技术社区  · 15 年前

    这是我的问题。第一次单击动态添加的输入时,似乎没有显示datapicker(我必须在其上单击两次或更多次,或者如果我在输入上方单击(标签区域)),是否有人看到问题。我尝试了很多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 回复  |  直到 15 年前
        1
  •  1
  •   Sarfraz    15 年前

    尝试使用 jQuery LiveQuery plugin :

       $("#datep1").livequery("click", function(event) {
            $(this).datepicker();
       });
    
        2
  •  0
  •   Seth    13 年前

    更改此部分:

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

    对此:

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

    datepicker插件在单击输入时被激活,因此您不必将其包装在click事件中。