Почему не делает jQuery, UI datepicker работает в модальном диалоговом окне jQuery?

Я хочу использовать jQuery UI datepicker в одном из моих вводов текста. Этот находится в модальном диалоговом окне.

На самом деле я могу назвать datepicker в нормальных исходных данных текста документа, и я обычно получал свой каландр, но я не могу сделать этого в диалоговых модальных вводах текста (после того, как, звеня в модальном вводе текста я ничего не получил ни без какой ошибки JavaScript).

Это - мой код для вызова datepicker:

$(function() {
    $("#MytextInputID").datepicker({ dateFormat: 'dd/mm/yy' });
);

Я пытался изменить CSS .ui-datepicker Z-индексные свойства, но я все еще ничего не получил.

У Вас есть подсказки для решения этой проблемы?

С уважением,


в my_page.html я имею

function openSaisieARModal()
        {
            window_select_CodeAgence = new showModalWindow('SaisieARModal', 500);
        }

И я использую этот сценарий

var showModalWindow=function(id, width)
{
    var newId=id+'Copy';
    this.id=newId;

var previousNode=document.getElementById(newId);
if(previousNode!=null)
{
    previousNode.parentNode.removeChild(previousNode);
}

var rootNode=document.getElementsByTagName('body')[0];
this.node=document.createElement("div");
rootNode.appendChild(this.node);
this.node.setAttribute('id', newId);
this.node.setAttribute('title', document.getElementById(id).getAttribute('title'));
this.node.innerHTML=document.getElementById(id).innerHTML;
if(width==null)
{
    width=400;
}
$('#'+newId).dialog({autoOpen: true, modal: true, width:width });

this.closeWindow=function()
{
    $('#'+this.id).dialog('close');
}

this.centerContent=function()
{
    this.node.style.textAlign='center';
}

this.center=function()
{
    $('#'+this.id).dialog('option', 'position', 'center');
}

}

и это - модальный HTML-код в my_page.html

<div style="display:none;">
        <div id="SaisieARModal" title="DATE">
            <table class="tableFrame" cellspacing="0px" width="100%">
                <tr>
                    <td class="topLeft">

                    </td>
                    <td class="topCenter">

                    </td>
                    <td class="topRight">

                    </td>
                </tr>
                <tr>
                    <td class="middleLeft">

                    </td>
                    <td class="middleCenter">
                        <table>
                            <tr align="center">
                                <td>
                                    Date
                                </td>
                                <td>
                                    <input id="MyTextInputID" type="text"  />
                                </td>
                            </tr>
                        </table>
                    </td>
                    <td class="middleRight">

                    </td>
                </tr>
                <tr>
                    <td class="bottomLeft">

                    </td>
                    <td class="bottomCenter">

                    </td>
                    <td class="bottomRight">

                    </td>
                </tr>
            </table>
            <div>
            </div>
        </div>
</div>
14
задан Michael Stalker 30 December 2013 в 22:18
поделиться

3 ответа

Можете ли вы уточнить, какой «модальный диалог» вы ссылаетесь. Я предполагаю, что это этот:

http://docs.jquery.com/ui/dialog

, не видев больше вашего кода, его сложно. Это может быть полезно, если вы публикуете сопровождающую HTML.

Однако одна вещь, которую можно помнить, заключается в том, что модальный диалог дает вам впечатление, что вы открываете новое окно, однако в действительности содержимое находится в том же документе HTML, что и остальная часть вашего контента. Это часто может привести к путанице при назначении идентификаторов элементов, например, некоторые дубликаты могут быть указаны.

Я также предполагаю, что вы отлаженные / тестируемые в той степени, в которой вы уверены, что ваш селектор работает правильно, то есть выбирает элемент (ы), который вы намерены

0
ответ дан 1 December 2019 в 09:32
поделиться

Я высмеивал быстрый пример, который работает. Вы пытались изменить Z-индекс на ui-DatePicker , но после просмотрения визуализированного кода в Firebug, он выглядит как удостоверение личности, которое вы хотите, это UI-DatePicker-div . Я устанавливаю Z-индекс до 9999, и он появляется в верхней части модального диалога.

<script type='text/javascript'> 
  $(function() {
      $("#datepicker").datepicker({ dateFormat: 'dd/mm/yy' });
  });

  function openmodal() {   
      var $dialogContent = $("#event_edit_container");       

      $dialogContent.dialog({
         modal: true,
         title: "Test",
         close: function() {},
         buttons: {
          save : function() {},
          cancel : function() {}
         }
      }).show();
      $("#ui-datepicker-div").css("z-index", "9999");   
  }
</script>

<div ><a href="javascript:openmodal();">Open modal</a></div>
<div id="event_edit_container" >
    <form>
        Date: <input type="text" id="datepicker" name="datepicker">
    </form>
</div>
17
ответ дан 1 December 2019 в 09:32
поделиться

введите здесь код Если вы упростите (для теста)

$('#'+newId).dialog({autoOpen: true, modal: true, width:width }); 

и сделаете это:

$('#SaisieARModal').dialog({autoOpen: true, modal: true, width:width }); 

отображается ли модальное окно? Вы также пробовали bgiframe: true вариант?

Не уверен, что что-то из этого полностью актуально, но что-то (скорее всего) помещает (скорее всего) средство выбора даты где-то за модальным материалом.

РЕДАКТИРОВАТЬ: Еще кое-что, если вы измените:

$(function() { $("#MytextInputID").datepicker({ dateFormat: 'dd/mm/yy' }); });

на

    $(function() { 
       $("#MytextInputID").datepicker({ dateFormat: 'dd/mm/yy' });
       $("#MytextInputID").click(function(){alert("working");});
    });

, появляется ли предупреждение?

0
ответ дан 1 December 2019 в 09:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: