2013-05-08 43 views
1

好了,我有幾件事在這裏:混合了JavaScript,jQuery和PHP,換行符

的Javascript:

desc = "line 1 \n line 2" 

的jQuery:

$("#msg").text(desc); 

PHP:

const NUM = 555; 

我想要的是改變0123的文字,其ID爲msg,這樣它將包含一段帶有多行文本的文本,並在其中一行中包含來自PHP常量的數字。

像這樣:

1號線
2號線555,2號線繼續
3號線

我的問題是我怎麼混他們呢?我嘗試了以下內容:

var desc = "line 1 \n line2" + <?php echo NUM ?> +"\n line 3";並且不起作用。

+0

「那是行不通的。」什麼不行?你得到一個錯誤,或者它是錯誤的順序? – 2013-05-08 16:32:56

+0

試試'<?php echo constant(「NUM」)?>'而不是? – MatthewMcGovern 2013-05-08 16:33:48

+0

預期產量是多少?我不理解'第1行'第2行'第3行'。 – 2013-05-08 16:34:57

回答

2

有幾個問題與您的代碼:

  • PHP常量應該使用define("CONSTANT_NAME", "VALUE");語法來定義;
  • \n在HTML標籤內沒有任何作用(如果您不應用white-space: pre;pre-wrap);
  • <?php echo NUM; ?>應該用"包裝或應該在JavaScript字符串中;
  • $("#msg").text(desc)將從desc中刪除所有標籤,因此您需要使用.html(desc)來代替。

你需要的是這樣的:

PHP

define("NUM", 555); 

的JavaScript

var desc = "line 1<br/>line2 <?php echo NUM; ?><br/>line 3"; 
$("#msg").html(desc); 
+0

+1,因爲這看起來是正確的,但問題不是很清楚......所以我不能說。 – sgroves 2013-05-08 16:43:03

+0

這工作。謝謝! – frrlod 2013-05-08 16:45:00

+1

@frrlod你明白它爲什麼有效嗎?這比只有有效的東西更重要。 – sgroves 2013-05-08 17:07:20