2009-10-01 2 views
0

Событие OnClick вызывает следующую функцию datepicker. Если присутствует предупреждение, оно работает нормально. В противном случае он не отображает календарь, как требуется. Это вопрос времени?js script работает только при наличии предупреждения - не вызов ajax

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>' + 
+0

Не могли бы вы показать нам, на какую позицию вы поставили предупреждение? – NawaMan

+0

Я пробовал это на новой странице только с дампикером и скриптом, и он отлично работает. Что еще может быть на вашей странице? Возможно, событие фокуса или размытия? предупреждения вызовут эти –

+0

Есть несколько других функций, но нет для onFocus или OnBlur. OnClick show datepicker, то есть цель. Вызывается функция, но датапикер не отображается сразу или последовательно. – Natkeeran

ответ

3

Возможно каландр DOM не закончил рендеринг - добавление предупреждение() блокирует страницу, которая дает ему время, чтобы закончить рендеринг. Используйте эквивалент jquery.ready (http://docs.jquery.com/Events/ready#fn) для рендеринга календаря, а затем покажите его (а не визуализируйте) в событии onclick.

+0

Возможно, вы правы. Но я не уверен в этом. – Natkeeran

+0

Ну, я вижу, вы используете $ ("# datepicker_" + Item), а с $, вероятно, вы используете jQuery или Prototype в качестве поддерживающей библиотеки. Вы знаете, какой из них он может быть? –

+0

Я использую JQuery. – Natkeeran

0

Я изменил событие onClick на событие onMouseOver и, похоже, работает нормально. Хотя, мне это не удобно использовать, так как это часто случается с огнем. Спасибо за все ответы.