Jquery Mobile — добавить вывод переменной в другой div на другой HTML-странице

#jquery #xml #mobile #append

#jquery #xml #Мобильный #добавить

Вопрос:

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

Вот мой код в html:

 <div data-role="page" id="taxi" data-theme="a">
<div data-role="header" data-position="fixed">
<h1>Taxi instructions</h1>
</div>

 <div data-role="content">
 <h3>I would like to go to...</h3>
 <h1 id="taxitaxi">
 </h1>

 </div>

<div data-role="footer" data-position="fixed">
<h4>address</h4>
</div>
</div>
  

Эта часть должна быть в порядке. Теперь это моя функция, готовая к работе с документом. Я читаю материал из xml для создания списка. все это отлично работает. Затем я хотел бы использовать одну из прочитанных мной вещей (адрес) для динамического добавления в div с идентификатором #taxitaxi. Здесь (очень беспорядочный) код:

 $(document).ready(function()
{
$.ajax({
 type: "GET",
   url: "xml/hotels.xml",
    dataType: "xml",
     success: manipulateXml
  });
});

function popup() {

alert("Hello World");
}


function  manipulateXml(data){

 $(data).find("hotel").each(function() {

 var hotelname = $(this).find("name").text();
 var eaddress = $(this).find("eaddress").text();
 var caddress = $(this).find("caddress").text();
 var theme = $(this).find("theme").text();


    var output = "<li>"   hotelname;     




 output  = "<ul "   theme;
 output  = ">";

 output  = "<br>";
 output  = "<br>";
 output  = "<h2>";
 output  = "Address (english)";
 output  = "</h2>";
 output  = "<li>"   eaddress;
 output  = "</li>";

 output  = "<p>";
 output  = "<br>";
 output  = "<h2>";
 output  = "Address (chinese)";
 output  = "</h2>";
 output  = "<li>"   caddress;
 output  = "</li>";


 //show taxi driver
 output  = "<a href=";
 output  = "#taxi";
 output  = " data-role=";
 output  = "button";
 output  = " data-inline=false onclick=",
 output  = "popup()";
 output  = ">SHOW TAXI</a>";
 output  = "<br>";
 output  = "<br>";
 output  = "<br>";
 output  = "<br>";
 output  = "<br>";
 output  = "<br>";
 output  = "<br>";
 output  = "<br>";
 output  = "<script>";
 output  = "$('#taxitaxi')";
 output  = ".append("  caddress;
 output  = ")";
 output  = "</script>";

 output  = "</ul>";

 output  = "</li>";

    $("#hotellist").append(output);

 $("#hotellist").listview('refresh');
 $("#hoteldata").listview('refresh');

 sortUnorderedList("hotellist");



  });
}
  

Я также попытался каким-то образом сделать это функцией onclick, которую я вставил, чтобы попробовать, и она показывает предупреждение. Попытка сделать это реальной вещью, однако, не увенчалась успехом. Хотя я думаю, что функция onclick была бы наиболее удобной.

Пожалуйста, помогите

заранее большое спасибо!

Ответ №1:

ХОРОШО — пара мыслей: В качестве дополнительного примечания ознакомьтесь с jTemplates для подготовки HTML-кода для списка

После создания списка используйте jQuery для добавления функции onclick:

так что измените свой код на это:

 var output = "<li class="listItem">"   hotelname;
  

и запустите это после создания списка:

 $('.listItem').each(function() {
   $(this).click(function() {
     popup();
   });
  

});