如何通过函数search_click()传递两个以上的request_url

时间:2018-06-10 15:53:16

标签: javascript jquery

我想知道如何将函数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
  }
}

2 个答案:

答案 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.value1request_url.value2request_url.value3访问相应的值。

答案 1 :(得分:0)

最后,我通过为不同的用户类型的不同requested_url创建三个base.html和三个javascript.js来解决这个问题,我知道它不是最好和最完美的方式,它是愚蠢和复杂的,但在我尝试了所有我知道和搜索过的方式之后,这对我来说是唯一的方式。