簡體   English   中英

將 PHP 輸出到 JavaScript 函數

[英]Outputing PHP to JavaScript function

我在將 php 輸出到 javascript 時遇到問題,當我只輸出一行時,javascript 工作,當我將 for 循環放入 javascript 時,沒有錯誤,只是沒有輸出,我使用 firebug,我看到輸出被竊聽,例如:

“'ANS”。 '+' 。 “‘安斯’。 '+' 。 “'ANS”如果我從 php 輸出這樣的文本,它就可以工作。 當我像這樣輸出單個錨點時:

'"' . '<a href="#">Text</a>' . '"';

但是,當我將其放入 for 循環時,它會中斷,我嘗試了許多選項:

function step1() {
            modalbox.show(new Element("div").insert(
                new Element("p", { "align": "justify" }).insert(
                    <?php $i = 0; ?>
                    <?php foreach ($items as $category => $itemsattr): $i++; ?>
                        <?php if($i == 27): ?>
                            <?= "'" . '<a class="category" href="#"> '. $category . '</a>' . "'" ?>
                        <?php endif; ?>
                            <?= "'" . '<a class="category" href="#"> '. $category . '</a>' . "'+" ?>
                    <?php endforeach; ?>
                )
            ), {
                "title"     : "Step 1/3",
                "width"     : 800,
                "options"   : [{
                    "label"     : "Next »",
                    "onClick"   : step2
                }]
            });
        };

如果我只輸出一個這樣的工作:

<?= "'" . '<a class="category" href="#">Text</a>' . "'" ?>

但是,當我將其放入循環中並在除最后一個之外的每個末尾添加 '+ 時,它會中斷。

使用 Firebug 檢查時,我的 for 循環輸出此內容:

'<a class="category" href="#"> Assault Ship</a>'+ '<a class="category" href="#"> Battlecruiser</a>'

據我所知,這應該對 javascript 有效,是否有另一種更安全的方法來輸出 php 過去的 javascript 以避免此類問題?

取而代之的是:

<?php foreach ($items as $category => $itemsattr): $i++; ?>
    <?php if($i == 27): ?>
        <?= "'" . '<a class="category" href="#"> '. $category . '</a>' . "'" ?>
    <?php endif; ?>
        <?= "'" . '<a class="category" href="#"> '. $category . '</a>' . "'+" ?>
<?php endforeach; ?>



如果你嘗試這樣的事情怎么辦?

<?php echo "'"; ?>
<?php foreach ($items as $category => $itemsattr): $i++; ?>
    <?php if($i == 27): ?>
        <?= '<a class="category" href="#"> '. $category . '</a>' ?>
    <?php endif; ?>
        <?= '<a class="category" href="#"> '. $category . '</a>' ?>
<?php endforeach; ?>
<?php echo "'"; ?>



你也可能有更好的運氣; 它比您擁有的更具可擴展性:

<?php foreach ($items as $category => $itemsattr): $i++; ?>
    <?php if($i == 0): ?>
        <?= "'" . '<a class="category" href="#"> '. $category . '</a>' . "'" ?>
    <?php else: ?>
        <?= "+'" . '<a class="category" href="#"> '. $category . '</a>' . "'" ?>
    <?php endif; ?>
<?php endforeach; ?>

請注意 + 和第一個條件的不同位置。

就像其他人所說的那樣,這種通用方法可能不是最好的,但這可能會使您擁有的工作更好......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM