Как получить возвращаемое значение из диалога JQueryMobile? - PullRequest
0 голосов
/ 09 мая 2011

Есть ли способ получить возвращаемое значение из jqueryMobile Dialog? Вот простой код документов jQueryMobile, но он не работает полностью.

Индекс

<link rel="stylesheet" href="jquery.mobile-1.0a4.1.css" />
<script src="jquery-1.5.2.min.js"></script>
<script src="jquery.mobile-1.0a4.1.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    $('.delete-dialog-yes').click(function() {
        alert("delete-dialog-yes");
    });
    $('.delete-dialog-no').click(function() {
        alert("delete-dialog-no");
    });
}); 
</script>
</head>
<body>
<div data-role="page" id="my-page">
    <div data-role="content">   
        <a href="delete-dialog.cfm" data-role="button" data-rel="dialog" data-transition="pop">Show Dialog</a>
    </div>
</div>

Диалог

<link rel="stylesheet" href="jquery.mobile-1.0a4.1.css" />
<script src="jquery-1.5.2.min.js"></script>
<script src="jquery.mobile-1.0a4.1.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    $('.delete-dialog-yes').click(function() {
        alert("delete-dialog-yes");
    });
    $('.delete-dialog-no').click(function() {
        alert("delete-dialog-no");
    });
}); 
</script>
<title>Dialog</title>
</head>
<body>
<div data-role="page" id="delete_dialog" data-theme="b">
    <div data-role="content" data-theme="b">
        <h1>Delete Item?</h1>
        <p>Are you sure you want to delete this item?</p>
        <a href="#" class="delete-dialog-yes" data-role="button" data-theme="b">Yes</a>
        <a href="#" class="delete-dialog-no" data-role="button" data-theme="b">No</a>
    </div>
</div>

Ответы [ 2 ]

2 голосов
/ 09 мая 2011

Тег <script> на странице диалога не оценивается, потому что JQueryMobile загружает эту страницу динамически и использует только div data-role=page из нее. Вы можете просто удалить эту часть.

В теге <script> на странице указателя вы используете .click для элементов, которые еще не существуют, поэтому, очевидно, это ничего не делает. Вы можете использовать live вместо:

<script type="text/javascript">
  $(document).ready(function() {
    $('.delete-dialog-yes').live('click',function() {
        alert("delete-dialog-yes");
    });
    $('.delete-dialog-no').live('click',function() {
        alert("delete-dialog-no");
    });
  }); 
</script>
0 голосов
/ 15 ноября 2013

Это сработало для меня даже при тестовых значениях

http://dev.jtsage.com/jQM-SimpleDialog/demos/string.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...