javascript - I need help passing a variable from a link into a function using defining a global variable in Jquery -


forgive me wording first time i've written this

i'm passing freemarker variable jquery function on click of link

<a onclick="showdisclaimer('${item.uid}')">read blog</a> 

the variable passes fine show hidden modal when link clicked. name of hidden modal

<div class="disclaimer ${item.uid}" style="display:none;"> 

the code not seem working. one, define global variable both functions have access to. can see i'm defining var x = uid; twice.

also in code $('body').append($('div.disclaimer x').remove()); not work , figure it's because haven't passed variable yet or created global variable. don't know how it.

my code below. appreciated. thanks

<#ftl ns_prefixes={"content":"http://purl.org/rss/1.0/modules/content/","dc":"http://purl.org/dc/elements/1.1/"}>      <script>       // forces disclaimer component load on body        $('body').append($('div.disclaimer x').remove());        function showdisclaimer (uid) {          var x = uid;         $('div.disclaimer x').show();        }        function closedisclaimer(uid) {         var x = uid;         // clear form , close modal         $('div.disclaimer x').hide();       }     </script>         <section style="background-color: #ededed">       <section class="head-transit">         <div class="container">             <div class="row-fluid">            <#list kiblogs.rss.channel.item item>               <div class="span4">                 <div class="panel">                   <img src="${item.thumbnail.@@nested_markup}" class="title-image">                      <div class="top-content">                       <h3>${item.title}</h3>                       <div class="datetime">${item.pubdate}</div>                       <div class="analyst"></div>                       <p class="test">${item.description}</p>                                       </div>                      <div class="disclaimer ${item.uid}" style="display:none;">                       <div class="content">                         <div class="close"><a href="#" onclick="closedisclaimer()">x</a></div>                           <h3>${item.title}</h3>                           <div class="datetime">${item.pubdate}</div>                           <p class="test">${item.description}</p>                            <p class="${item.uid}">hey now</p>                             <div class="divider"></div>                                             </div>                     </div>                       <div class="bottom-content">                     <div class="bottom-blue-buttn"><a onclick="showdisclaimer('${item.uid}')">read blog</a></div>                    </div>                 </div>                </div>                  <div class="disclaimer ${item.uid}" style="display:none;">                   <div class="content">                     <div class="close"><a href="#" onclick="closedisclaimer()">x</a></div>                       <h3 class="title2"></h3>                        <div class="divider"></div>                       <p class="content2"></p>                    </div>                 </div>                         <hr>                       </#list>            </div>        </div>       </section>     </section> 

i got code work getting console error uid not defined in var outervar = uid; uid defined within first , second function.

in first line of code

      var outervar = uid;        $('body').append($('div.disclaimer' + outervar).remove());        function showdisclaimer (uid) {          var x = uid;         $('div.disclaimer' + x).show();        }        function closedisclaimer(uid) {         var x = uid;         // clear form , close modal         $('div.disclaimer' + x).hide();       }       </script>   

the css selector wrong. need concatenate x variable.

      function showdisclaimer (uid) {          var x = uid;         $('div.disclaimer' + x).show();        }        function closedisclaimer(uid) {         var x = uid;         // clear form , close modal         $('div.disclaimer' + x).hide();       } 

example reuse variables:

var outside = 'fooo!'; function foo () {      console.log(outside); //output 'fooo!' }  function bar() {     var inside = 'hello';     console.log(inside); //output 'hello' }  console.log(inside); //output undefined 

for more info on: what scope of variables in javascript?


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -