2017-02-16 10 views
0

私は、この要素をクリックした要素のidを決定する関数を持っています。私はそれを別の関数で使用できる変数として格納する必要があります。別の関数の変数にアクセスする

$(".loadlist").click(function() { 

    var folderid; 
    folderid =jQuery(this).attr('id') || '' 
     $("#adults").swap({ 
     target: "table1_wrapper", 
     opacity: "0.5", 
     speed: 1000, 
}); 
}); 

第二の機能は私がURLパスを連結するために使用できるように、第二の機能でフォルダID変数にアクセスできるようにする必要

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 

あります。

答えて

3

gloabally、他の回答で述べたように、私は問題はあなたがdocument.onready関数であなたのJavascriptをラップしていないことだと思う。

はとにかく、次のことが私の仕事:

<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以降であることを確認してください。

+0

それはひどいです!ご助力ありがとうございます。私はあなたにパイントを買うことができたら:) – RScott

1

あなたはこのような両方の機能の外で変数を使用できます。

var mySpecialId; 
$(".loadlist").click(function() { 
    mySpecialId = xxx; 
    ... 
}); 
$().SPServices({ 
    do something with mySpecialId 
    ... 
}); 
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

+0

お返事ありがとうございます 私はこれを試しましたが、folderidは未定義の値を保持しているようです。私は変数fullpathの警告を出して、 "/ sites/bi/adultslibrary/undefined"となります – RScott

+0

次にfolderidがあなたの2つの機能の外のスコープに正しく設定されていないと私は思います – Galago

関連する問題