如何编写条件window.location.href

时间:2015-08-26 06:18:57

标签: javascript

我有以下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值,只有它存在。

我必须在相同的语句中执行它而不重复代码。我怎么能这样做?

2 个答案:

答案 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']);?>";
}