2012-01-13 3 views
0

У меня есть вопрос о диалоге здесь код:JQuery мобильный открытый диалог по щелчку ссылки

<a href="#lol" data-rel="dialog">Filter</a> 

<div data-role="dialog" id="lol"> 
<p><input type="button" value="lolz"/></p> 
</div> 

Так что я думаю по щелчку «Фильтр», я должен получить диалоговое окно с помощью кнопки, правильно ? Я прочитал несколько сообщений и форумов, и все они говорят, чтобы сделать это таким образом, но для меня это не работает. Ошибок в firebug нет, ничего не происходит. Есть идеи?

+0

Это похоже на дубликат этого сообщения: http://stackoverflow.com/questions/6230460/how-to-open-a-jquery-mobile-dialog-from-javascript – Orin

+0

Идеи для чего? В чем проблема? –

ответ

1

Вы не сообщаете, что именно ваша проблема, но вот некоторые общие рекомендации.

Вам необходимо убедиться, что ваш код правильно структурирован. То, что <a data-rel="dialog"> тег вложен в data-role="content", который вложен в пределах data-role="page" элемента, и что data-role="dialog" элемента является родственным из data-role="page" элементов:

<div data-role="page"> 
    <div data-role="content"> 
     <a href="#lol" data-rel="dialog">Filter</a> 
    </div> 
</div> 

<div data-role="dialog" id="lol"> 
    <div data-role="content"> 
     <p><input type="button" value="lolz"/></p> 
    </div> 
</div> 

Вот демо: http://jsfiddle.net/kz5QA/

+0

Не могу этого сделать. Он сидит под одним фрагментом в MVC3, и в диалоговом окне должно отображаться другое частичное. Все это завернуто в одну 'data-role =" page "'. –

+0

Мое понимание (и я часто использовал jQuery Mobile) - это то, что вы не можете этого сделать. Элементы 'page' или' dialog' должны быть прямыми дочерними элементами тега ''. Вот демонстрация вашей структуры: http://jsfiddle.net/kz5QA/1/ (которая не откроет диалог), и вот демонстрация моей предложенной структуры: http://jsfiddle.net/kz5QA/ (который работает так, как ожидалось) – Jasper

+0

Разве вы не можете добавить свои частичные части так? '

...
' – Jasper

0

Если Вы хотите чтобы открыть диалог из html-кода, тогда вы должны использовать в DIV, который вы хотите от кнопки click-data-role = "page" NOT data-role = "dialog", которую вы там сделали.

И, чтобы открыть диалоговое окно с JavaScript любого события я хотел бы предложить подобный код:

$ .mobile.changePage ('# divSelectorId', { переход: 'поп', changeHash: правда, роль: 'диалог' // важно дать. });

Смежные вопросы