Php 如何将JS放入if语句中

Php 如何将JS放入if语句中,php,javascript,magento,Php,Javascript,Magento,我想在PHP中加入一点JavaScript。如下图所示。但是我不能让它正常工作,建议 if ($_option->getTitle() == 'Condition') { '<script language="javascript"> function displayCondition() { condition = new Array("Please Select a Condition.","<b>Perfect:</b&g

我想在PHP中加入一点JavaScript。如下图所示。但是我不能让它正常工作,建议

    if ($_option->getTitle() == 'Condition') {
            '<script language="javascript">
function displayCondition() {
condition = new Array("Please Select a Condition.","<b>Perfect:</b> Text to explain perfect condition!", "<b>Excellent:</b> Text to explain excellent condition!", "<b>Good:</b> Text to explain good condition!", "<b>Poor:</b> Text to explain poor condition!", "<b>Broken:</b> Text to explain broken condition!");
var getsel = document.getElementById(\'select_'.$_option->getId().'\').value;
document.getElementById("divId").innerHTML = condition[getsel];
}
</script>';
            $extraParams .= ' onchange="opConfig.reloadPrice();displayCondition();"';
        } else if 
            ($_option->getTitle() == 'Original Packaging') {
            $extraParams .= ' onchange="opConfig.reloadPrice();Select(select_'.$_option->getId().',\'divShow\',2);"';
        } else {
            $extraParams .= ' onchange="opConfig.reloadPrice();"';
        }
if($\u选项->getTitle()=='Condition'){
'
函数displayCondition(){
条件=新数组(“请选择一个条件。”,“完美:文本来解释完美条件!”,“优秀:文本来解释完美条件!”,“优秀:文本来解释良好条件!”,“差:文本来解释不良条件!”,“破碎:文本来解释破碎条件!”);
var getsel=document.getElementById(\'select\.$\u option->getId().\').value;
document.getElementById(“divId”).innerHTML=条件[getsel];
}
';
$extraParams.='onchange=“opConfig.reloadPrice();displayCondition();”;
}否则如果
($\u选项->getTitle()=='原始包装'){
$extraParams.='onchange=“opConfig.reloadPrice();选择(选择“.”$\u选项->getId(),“'divShow\”,2);”;
}否则{
$extraParams.='onchange=“opConfig.reloadPrice();”;
}
混合使用PHP和HTML(包括JavaScript)时,必须注意PHP开头标记:

if ($_option->getTitle() == 'Condition') {
    // go out of PHP
    ?>
    <script language="javascript">
       function displayCondition() {
         condition = new Array("Please Select a Condition.","<b>Perfect:</b> Text to explain perfect condition!", "<b>Excellent:</b> Text to explain excellent condition!", "<b>Good:</b> Text to explain good condition!", "<b>Poor:</b> Text to explain poor condition!", "<b>Broken:</b> Text to explain broken condition!");
         var getsel = document.getElementById('select_<?php echo $_option->getId(); ?>').value;
         document.getElementById("divId").innerHTML = condition[getsel];
       }
    </script>
    <?php
    // back to php
    $extraParams .= ' onchange="opConfig.reloadPrice();displayCondition();"';
if($\u选项->getTitle()=='Condition'){
//退出PHP
?>
函数displayCondition(){
条件=新数组(“请选择一个条件。”,“完美:文本来解释完美条件!”,“优秀:文本来解释完美条件!”,“优秀:文本来解释良好条件!”,“差:文本来解释不良条件!”,“破碎:文本来解释破碎条件!”);
var getsel=document.getElementById('selectú').value;
document.getElementById(“divId”).innerHTML=条件[getsel];
}

只需确保您回显了


或者使用将
包含到页面中

<?php if (condition): ?>
  <script> //do stuff </script>
<?php endif; ?>

//做事
你可以这样写

 $extraParams = "";
if ($_option->getTitle() == 'Condition') {
$extraParams .= '<script>...you script </script>';

$extraParams .= ' onchange="opConfig.reloadPrice();displayCondition();"';
    } else if 
        ($_option->getTitle() == 'Original Packaging') {
        $extraParams .= ' onchange="opConfig.reloadPrice();Select(select_'.$_option->getId().',\'divShow\',2);"';
    } else {
        $extraParams .= ' onchange="opConfig.reloadPrice();"';
    }
$extraParams=”“;
如果($\u选项->getTitle()=='条件'){
$extraParams.='…您的脚本';
$extraParams.='onchange=“opConfig.reloadPrice();displayCondition();”;
}否则如果
($\u选项->getTitle()=='原始包装'){
$extraParams.='onchange=“opConfig.reloadPrice();选择(选择“.”$\u选项->getId(),“'divShow\”,2);”;
}否则{
$extraParams.='onchange=“opConfig.reloadPrice();”;
}
处理PHP中的大标记时应使用

$script_tage = <<<HEREDOC
<script language="javascript">
    function displayCondition() {
    condition = ["Please Select a Condition.","<b>Perfect:</b> Text to explain perfect condition!", "<b>Excellent:</b> Text to explain excellent condition!", "<b>Good:</b> Text to explain good condition!", "<b>Poor:</b> Text to explain poor condition!", "<b>Broken:</b> Text to explain broken condition!"];
    var getsel = document.getElementById('select_'.{$_option->getId()}).value;
    document.getElementById("divId").innerHTML = condition[getsel];
</script>
HEREDOC;


if ($_option->getTitle() == 'Condition') {
    echo $script_tag;
}
$script\u tage=getId()});
document.getElementById(“divId”).innerHTML=条件[getsel];
埃雷多克;
如果($\u选项->getTitle()=='条件'){
echo$script_标签;
}

注意-无需在HEREDOC中转义任何内容。要在herdoc字符串中输入变量,只需将它们放在一对大括号中,如
{$foo}

这是什么意思,“不能让它正常工作”?它做什么?你期望它做什么?javascript部分不工作。当条件满足时,它不会在代码中打印它。可能是因为您只是创建了一个字符串,但没有输出它?在js中有一个php部分,您可以missed@MarkoD对很难编辑那些长的行…谢谢你的作品完美。现在我有一个不同的问题。我将提出一个新问题。你的好朋友。
$script_tage = <<<HEREDOC
<script language="javascript">
    function displayCondition() {
    condition = ["Please Select a Condition.","<b>Perfect:</b> Text to explain perfect condition!", "<b>Excellent:</b> Text to explain excellent condition!", "<b>Good:</b> Text to explain good condition!", "<b>Poor:</b> Text to explain poor condition!", "<b>Broken:</b> Text to explain broken condition!"];
    var getsel = document.getElementById('select_'.{$_option->getId()}).value;
    document.getElementById("divId").innerHTML = condition[getsel];
</script>
HEREDOC;


if ($_option->getTitle() == 'Condition') {
    echo $script_tag;
}