如何将JS放入if语句中
How to fit JS into if statement
我想在PHP if中加入一点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();"';
}
当你混合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();"';
您也可以尝试制作一个大的echo
,但这涉及到处理引号擒纵行,并且通常更重。
一定要回显<script>
。
<?php if (condition) {
echo '<script> //do stuff </script>';
?>
或者使用控制结构的其他语法将<script>
包含到页面
<?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();"';
}
在处理PHP中的大标记时,应该使用PHP的HEREDOC。
$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;
}
注意-在HEREDOC中不需要转义。要在HEREDOC字符串中输入变量,只需将它们放在一对括号中,如{$foo}
。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- Sharepoint JScript if语句未执行
- for循环中的javascript if语句找不到==
- jquery if语句返回return wong语句
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 循环通过数组的If语句不起作用
- jQuery模板中的If语句
- 如何从数据库中回显If语句
- 如何减少if语句的数量
- 在Javascript中将一个值和字符串数组转换为if语句
- Dropbox oauth认证的IF语句的第二部分是't已触发
- MVC Jquery-按钮点击-获取if语句错误
- 如何重写Javascript If语句以选择Classes而不是ID's的HTML格式
- KnockoutJS:为虚拟元素使用嵌套的条件if语句
- If语句发布或操作员发布
- 清除函数中if语句内部不起作用的间隔
- 使用if语句重新循环