我有以下javascript行重定向网页。
window.location.href ="<?php echo $this->url->link('product/category',
'path=' . $data['category_id']);?>_"+child_select;
child_select
是一个javascript变量。我想显示_child_select
ieundescore和任何child_select值,只有它存在。
我必须在相同的语句中执行它而不重复代码。我怎么能这样做?
答案 0 :(得分:2)
您可以使用Conditional/Ternary operator ? :
检查child_select
是否存在。如果不使用不包含_
和child_select
的网址。
在变量中设置基本路径的值。如果存在child_select
,请将_
附加到基本路径。
var path = "<?php echo $this->url->link('product/category', 'path=' . $data['category_id']);?>";
window.location.href = child_select ? path + '_' + child_select : path;
// { If present then append }
以上陈述相当于
if (child_select) {
window.location.href = "<?php echo $this->url->link('product/category', 'path=' . $data['category_id']);?>_" + child_select;
} else {
window.location.href = "<?php echo $this->url->link('product/category', 'path=' . $data['category_id']);?>";
}
答案 1 :(得分:1)
然后你可以查看child_select
undefined:
if (typeof child_select != 'undefined')
{
window.location.href ="<?php echo $this->url->link('product/category',
'path=' . $data['category_id']);?>_"+child_select;
} else {
window.location.href ="<?php echo $this->url->link('product/category',
'path=' . $data['category_id']);?>";
}