jQuery创建变量以在其他函数中使用

时间:2017-08-24 16:29:20

标签: javascript jquery

我试图创建一个返回变量的函数。那个返回的变量我想在第二个函数中使用。

我真的无法看到我在这里做错了什么:

所以我做的是:

function setSearchUrl(searchUrl){
  var $select = $('.navbar-form.navbar-search select');
  $select.on('change', function(){
      searchUrl = $(this).find('option:selected').val();
      $(this).closest('form').attr("action", searchUrl);
  }); 
  return searchUrl;
}

function liveSearch() {

 var e = $(".navbar-search input").val(),
 query = e.replace("/", "-slash-"),
 url = setSearchUrl(searchUrl) +'/?search=' + query + "&format=json"


    $.getJSON(url, function(e) {
      // etc etc etc ....

}   

$(function() {

  var searchUrl;
  setSearchUrl()

});   

返回空searchUrl。 我究竟做错了什么?

任何帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

这很容易。请查看以下代码..

仅供演示 -

基于选择值,动态生成url以发送ajax请求。



function setSearchUrl(selVal) {
  let searchUrl = selVal;
  return searchUrl;
}

function liveSearch(searchUrl) {
  console.log(searchUrl);
  /*
  	Your code for ajax request
  */
}

$(function() {
  $('#select').on('change', function() {
    let selValue = $(this).val();
    if (selValue !== '') {
      let searchUrl = setSearchUrl(selValue);
      liveSearch(searchUrl);
    }
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id='select'>
  <option value=''>Select URL</option>
  <option value='example.com/abcd.php'>URL1</option>
  <option value='example.com/pqrs.html'>URL2</option>
  <option value='example.com/wxyz.asp'>URL3</option>
</select>
&#13;
&#13;
&#13;

希望,这适用于你.. :):)