0

我有一个 jquery 函数,它在提交事件时生成一个 url。如果未定义一个参数,则应跳过添加到 url

        var category        =$("#prod_category").val();
        var group           =$("#prod_group")
        window.location.href = "/page/" +
            **//add to url if category is definned**
        encodeURI(category) + "/" +
            **//add to url if group is definned**       
        encodeURI(group) + "/" +
4

4 回答 4

4

你可以简单地陈述if (category)。如果category有一个长度大于零的值,这将返回true

var url = "/page/";
if (category){
  url = url + encodeURI(category) + "/";
}
if (group){
  url = url + encodeURI(group) + "/";
}

编辑:将值设置为categorygroup确保修剪元素可能包含的任何空白时。例如:

var category = $.trim($("#prod_category").val());
于 2012-07-17T10:11:31.597 回答
2

您可以使用 $.grep 来执行此操作:

var category = $.trim($("#prod_category").val());
var group = $.trim($("#prod_group").val());
window.location.href = '/page/' + $.grep([category, group], function(s) { return s != null && s.length }).join('/');
于 2012-07-17T10:46:15.783 回答
1

尝试:

var category =$.trim( $("#prod_category").val() );
var group    =$.trim( $("#prod_group").val() );
var urlVal = "/page/";
if( category !== "") {
  urlVal += encodeURI(category);
}
if( group !== "") {
 urlVal += encodeURI(group);
}
window.location.href = urlVal;
于 2012-07-17T10:14:46.053 回答
0

利用

if($.trim(category) != ''){
}
if($.trim(group) != ''){
}
于 2012-07-17T10:12:08.543 回答