我想知道如何将函数search_click()
设置为两个以上request_url
。
我有function search_click
,如下所示,我有三种不同request_url
的用户类型(请注意:某些用户的user_type
有时都是admin
和{ {1}},即使一个用户在此期间也有三种用户类型:
admin_a
我尝试使用下面的代码更改上面的代码,但它不起作用。
function search_click() {
var type = $('#jsSelectOption').attr('data-value'),
keywords = $('#search_keywords').val(),
request_url = '';
if (keywords == "") {
return
}
if (type == "test") {
request_url = "/admin?keywords=" + keywords
} else if (type == "user") {
request_url = "/admin/user?keywords=" + keywords
}
}
base.html的部分代码如下,
function search_click() {
var type = $('#jsSelectOption').attr('data-value'),
keywords = $('#search_keywords').val(),
request_url = '';
if (keywords == "") {
return
}
if (type == "test") {
request_url = "/admin?keywords=" + keywords
request_url = "/admin_a?keywords=" + keywords
request_url = "/admin_b?keywords=" + keywords
} else if (type == "user") {
request_url = "/admin/user?keywords=" + keywords
request_url = "/admin_a/user?keywords=" + keywords
request_url = "/admin_b/user?keywords=" + keywords
}
}
答案 0 :(得分:0)
此代码只是重新分配变量,这意味着您最终得到了分配给它的最后一个值,在本例中为"/admin_b/user?keywords=" + keywords
。
request_url = "/admin/user?keywords=" + keywords
request_url = "/admin_a/user?keywords=" + keywords
request_url = "/admin_b/user?keywords=" + keywords
如果要将所有这些值存储在request_url
变量中,则应使用object而不是string。
// declare request_url like this instead of request_url = '';
request_url = {
value1: null,
value2: null,
value3: null,
};
if (type == "test") {
request_url.value1 = "/admin?keywords=" + keywords;
request_url.value2 = "/admin_a?keywords=" + keywords;
request_url.value3 = "/admin_b?keywords=" + keywords;
} else if (type == "user") {
request_url.value1 = "/admin/user?keywords=" + keywords
request_url.value2 = "/admin_a/user?keywords=" + keywords
request_url.value3 = "/admin_b/user?keywords=" + keywords
}
然后输入request_url.value1
,request_url.value2
。 request_url.value3
访问相应的值。
答案 1 :(得分:0)
最后,我通过为不同的用户类型的不同requested_url创建三个base.html和三个javascript.js来解决这个问题,我知道它不是最好和最完美的方式,它是愚蠢和复杂的,但在我尝试了所有我知道和搜索过的方式之后,这对我来说是唯一的方式。