我有一个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) + "/" +
答案 0 :(得分:4)
您可以简单地说明if (category)
。如果category
的值长度大于零,则会返回true
。
var url = "/page/";
if (category){
url = url + encodeURI(category) + "/";
}
if (group){
url = url + encodeURI(group) + "/";
}
编辑:将值设置为category
和group
时,请确保修剪元素可能包含的任何空格。例如:
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) != ''){
}