我有这个函数来确定被点击元素的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路径。
答案 0 :(得分:3)
除了定义你的变量 gloabally 之外,如其他答案所述,我认为问题在于你没有将你的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或更高版本。
答案 1 :(得分:1)
您可以使用两个函数之外的变量,如下所示:
var mySpecialId;
$(".loadlist").click(function() {
mySpecialId = xxx;
...
});
$().SPServices({
do something with mySpecialId
...
});
答案 2 :(得分:1)
您可以在单击.loadlist
时调用的函数范围之外定义变量。
var folderid;
$(".loadlist").click(function() {
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;
//...
您还可以在此处查看此操作:JSFiddle