什么是jQuery中正确的语法

时间:2012-07-17 10:09:16

标签: javascript jquery

我有一个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 个答案:

答案 0 :(得分: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());

答案 1 :(得分: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('/');

答案 2 :(得分: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;

答案 3 :(得分:0)

使用

if($.trim(category) != ''){
}
if($.trim(group) != ''){
}