我有这个函数可以确定被单击元素的 id。我需要将其存储为可以在另一个函数中使用的变量。
$(".loadlist").click(function() {
var folderid;
folderid =jQuery(this).attr('id') || ''
$("#adults").swap({
target: "table1_wrapper",
opacity: "0.5",
speed: 1000,
});
});
第二个函数是
jQuery(document).on("click", "#trigger_adults", function (event) {
folderName = "/sites/bi/adultslibrary/";
fullpath = folderName + folderid;
$().SPServices({
webUrl: "http://onespace.nottscc.gov.uk/sites/bihub",
operation: "GetListItems",
async: false,
listName: "adultslibrary",
CAMLRowLimit: 100,
CAMLViewFields: "<ViewFields>
<FieldRef Name='LinkFilename' />
<FieldRef Name='EncodedAbsUrl'/>
<FieldRef Name='Year'/>
<FieldRef Name='Snapshot'/></ViewFields> " ,
CAMLQueryOptions: "<QueryOptions><Folder>"+fullpath+ "</Folder></QueryOptions>",
// everything else
我需要能够访问第二个函数中的文件夹 id 变量,以便我可以使用它来连接 url 路径。
最佳答案
除了全局定义变量之外,正如其他答案中提到的,我认为问题在于您没有将 Javascript 包装在 document.onready 函数中。
无论如何,以下内容对我有用:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<div class="loadlist" id="1">
LoadList
</div>
<br><br>
<div id="trigger_adults">
#trigger_adults
</div>
<script>
$(function() {
var folderid;
var folderName;
var fullpath;
$(".loadlist").click(function() {
folderid = jQuery(this).attr('id') || '';
});
jQuery(document).on("click", "#trigger_adults", function(event) {
folderName = "/sites/bi/adultslibrary/";
fullpath = folderName + folderid;
alert(fullpath);
});
});
</script>
如果所有其他方法都失败,请确保您的 jQuery 版本是 v1.7 或更高版本。
关于javascript - 访问不同函数中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42273835/