2012-09-08 12 views
5

हाय मैं jquery में एक चर बनाने की कोशिश कर रहा हूं जिसमें वेबसाइट के विभिन्न क्षेत्रों में आउटपुट के लिए एक टेबल शामिल है। लेकिन यह मुझे एक त्रुटि दे रहा है, और मुझे समझ में नहीं आता क्यों। यहाँ मेरी jQuery है:एचटीएमएल सामग्री के साथ jquery में एक चर बनाएँ

var copy = "<table width='750' border='0' cellspacing='0' cellpadding='0'> 
    <tr> 
    <td>Tarifa valida desde:</td> 
    <td>Tarifa valida hasta:</td> 
    <td>Tarifa MXN</td> 
    <td>Tarifa USD</td> 
    </tr> 
    <tr> 
    <td><input type='text' name='from1' id='from1' class='date' /></td> 
    <td><input type='text' name='to1' id='to1' class='date' /></td> 
    <td><input type='text' name='mxn1' /></td> 
    <td><input type='text' name='usd1' /></td> 
    </tr> 
    <tr> 
    <td>Extra Pax MXN:</td> 
    <td>Extra Pax USD:</td> 
    </tr> 
    <tr> 
    <td><input type='text' name='exmxn1' /></td> 
    <td><input type='text' name='exusd1' /></td> 
    </tr> 
</table>"; 
    }); 

मैं कैसे एक चर में इस जगह सकता है ताकि मैं विभिन्न divs में आउटपुट के रूप में इतना:

$(".divExample").html(copy); 

किसी मदद के लिए धन्यवाद!

+3

क्या त्रुटि है? .... – ComFreek

+2

नीचे उत्तर सही हैं मिलता है हालांकि मैं एक अलग रणनीति पूरी तरह सुझाव है। वह जो आपके जेएस के अंदर कम HTML का उपयोग करता है। –

+0

शीर्षक "एकाधिक रेखाओं के साथ एक चर बनाएँ" –

उत्तर

3

गलत तरीके से असाइन किए गए स्ट्रिंग के कारण सिंटेक्स त्रुटि।

श्रेणीबद्ध लाइनों

var copy = "<table width='750' border='0' cellspacing='0' cellpadding='0'>" 
      + "<tr>"; 
    .... 
+0

धन्यवाद, यह केवल लाइन ब्रेक था ... – liveandream

+0

आपका स्वागत है ... – Adil

3

आपने अपनी स्ट्रिंग में लाइन रिटर्न को संभाला नहीं है। इस वजह से, जावास्क्रिप्ट मानता है कि प्रत्येक पंक्ति का अंत एक बयान का अंत है। स्पष्ट रूप से प्रत्येक पंक्ति एक वैध कथन नहीं है। अपनी स्ट्रिंग को इस तरह से संयोजित करें:

var "multi-"+ 
    "line "+ 
    "string"; 
2

आप तार जोड़ सकता है जैसे कि यह सुझाव दिया गया था।

var html = "<table> \ 
    <tr>....</tr> \ 
    </table>"; 
2

जब मैं जटिल एचटीएमएल है इस मैं क्या कर रहा है: या किसी अन्य तरीके से वापस स्लैश के साथ नए लाइन वर्ण से बचने के लिए है । मैं एक enclosing DIV में एचटीएमएल रख दिया और, html सामग्री

var copy = $('#mycomplexhtml').html(); //gets the content I placed in an hidden div 


<!-- I normally place this at the bottom-most part of the page --> 
<div id="mycomplexhtml" style="display:none"> 
    <table width='750' border='0' cellspacing='0' cellpadding='0'> 
    <tr> 
    <td>Tarifa valida desde:</td> 
    <td>Tarifa valida hasta:</td> 
    <td>Tarifa MXN</td> 
    <td>Tarifa USD</td> 
    </tr> 
... 
    </table> 
</div> 
+0

यह बहुत चालाक है। मैं एक एचटीएमएल स्ट्रिंग दृष्टिकोण का उपयोग कर रहा हूं, जहां मूल रूप से मैं एक 'var html_str =

मेरा एचटीएमएल

' बना देता हूं और फिर इसे जोड़ता हूं, 'html_str + =

' के रूप में लाइन के रूप में यह मेरे एच 1 के नीचे दिखाएगा!

'। हालांकि यह लिखने के लिए ** लंबा समय ** लेता है, और बाद में पढ़ने में इतना आसान नहीं है (भले ही मैं इसे HTML स्वरूपण की नकल करने के लिए इंडेंट करता हूं) .. उह ... अपनी विधि को यहां जाने के लिए जाना, हो सकता है कि कुछ एचटीएमएल के निचले भाग में छिपे हुए divs चिपके हुए हो, लेकिन कुछ मायनों में, शायद यह एक जेएस फ़ाइल में समेकित तारों के समूह के रूप में crammed से बेहतर है ... इस चतुर विचार के लिए धन्यवाद .. – natureminded

संबंधित मुद्दे