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
Post a Comment