js脚本仅在存在警报时起作用 - 而不是ajax调用

时间:2009-10-01 17:39:39

标签: javascript jquery

OnClick事件调用以下datepicker函数。如果存在警报,那么它可以正常工作。否则,它不会根据需要显示日历。这是时间问题吗?

function changeStartDate(Item){  
            alert ("alert goes here");

  $("#datepicker_" + Item).datepicker({                  
   dateFormat: 'M-dd-yy',
   onClose: function(dataText, inst){
      newDate = dataText;
                       processDateChange(newDate);
   },
  }); 

  flag = 1; 
  }

来自:

的地方
 '<div class="InfoBoxLong" id="StartDate_' + TransactionOrderItemID + '"><input id="datepicker_' + TransactionOrderItemID + '" type="text" size="9" id="StartDate_' +  TransactionOrderItemID + '" onClick="changeStartDate(\'' + TransactionOrderItemID + '\')"  value="' + ActivationStartDate + '"> </input></div>' +

2 个答案:

答案 0 :(得分:3)

可能日历DOM尚未完成渲染 - 添加alert()会阻止页面,从而有时间完成渲染。使用等效的jquery.ready(http://docs.jquery.com/Events/ready#fn)来渲染日历,然后只在onclick事件上显示它(而不是渲染它)。

答案 1 :(得分:0)

我将onClick事件更改为onMouseOver事件,似乎工作正常。虽然,我不习惯使用它,因为它会经常发射这个事件。感谢所有的回复。