यहाँ एक नोब। मैं एक छोटा प्रोग्राम बनाने की कोशिश कर रहा हूं जो मूल रूप से केवल नेस्टेड सूची दिखाता है और अंत में एक बटन होता है जिसे किसी अन्य पृष्ठ से लिंक करना चाहिए। उस दूसरे पृष्ठ पर कुछ जोड़ने से पहले एक आउटपुट बनाया जाना चाहिए था। यह सूची उदाहरण के लिए होटलों की सूची है और एक होटल के विवरण के भीतर एक बटन होगा। वह बटन आपको दूसरे पेज पर ले जाता है जहां पहले पता जोड़ा जा चुका है ताकि टैक्सी ड्राइवर को दिखाने का एक आसान तरीका मिल सके। मैं कई दिनों से कोशिश कर रहा हूं लेकिन किसी तरह यह काम नहीं कर सकता।

यहाँ 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>

वह हिस्सा ठीक होना चाहिए। उसका अब मेरा दस्तावेज़-तैयार कार्य। मैं सूची बनाने के लिए एक एक्सएमएल से सामान पढ़ रहा हूं। कि सब बढ़िया काम करता है। तब मैं उन चीजों में से एक का उपयोग करना चाहता हूं जिसे मैंने आईडी #taxitaxi के साथ div में गतिशील रूप से जोड़ने के लिए (पता) पढ़ा है। यहाँ (बहुत गन्दा) कोड:

$(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");



  });
}

मैंने इसे किसी भी तरह एक ऑनक्लिक फ़ंक्शन बनाने की भी कोशिश की, जिसे मैंने कोशिश करने के लिए रखा और यह अलर्ट दिखाता है। हालांकि इसे असली बनाने की कोशिश सफल नहीं हुई। हालांकि मुझे लगता है कि एक ऑनक्लिक फ़ंक्शन सबसे उपयोगी होगा।

कृपया सहायता कीजिए

अग्रिम में बहुत धन्यवाद!

0
sunnysonic 20 मई 2011, 14:46

1 उत्तर

ठीक है - कुछ विचार: एक विचार के रूप में सूची के लिए एचटीएमएल तैयार करने के लिए jTemplates देखें

एक बार जब आप सूची बना लेते हैं तो ऑनक्लिक फ़ंक्शन को जोड़ने के लिए jQuery का उपयोग करें:

तो इसमें अपना कोड संशोधित करें:

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

और सूची बनने के बाद इसे चलाएं:

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

});

0
BonyT 20 मई 2011, 15:02