我试图创建一个返回变量的函数。那个返回的变量我想在第二个函数中使用。
我真的无法看到我在这里做错了什么:
所以我做的是:
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
。
我究竟做错了什么?
任何帮助都非常感谢!
答案 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;
希望,这适用于你.. :):)