我的全局变量出了问题,希望你能帮助我。
<li>
<a href="<?php echo site_url("adminController/questionAdd/".$row->subjectid); ?>" id="<?php echo $row->subjectid; ?>" class="subject">Add Question</a>
</li>
现在,从该行开始,我在javascript
中通过click()
在此行中传递了我的ID
$(document).ready(function () {
var correctAnswer;
var subId;
$( ".subject" ).click(function() {
subId = ($(this).attr('id')); //passed the id variable into the global variable
alert(subId) // when I alert this it returns the value
});
现在我在这一行中使用了全局变量$(document).ready(function()
$('#form-user').submit(function(e){
e.preventDefault();
var me = $(this);
var correct = correctAnswer;
var passedSubId = subId; // passed the global variable to this local variable
console.log(correct); // this is okey
console.log(subId); // this is undefined
});
结果
i
undefined
答案 0 :(得分:1)
您可以使用window
声明全局变量,但强烈建议不要使用。
你可以像这样声明一个全局变量:
window.yourVariable = "something";
答案 1 :(得分:0)
您的代码永远不会像您认为的那样工作。
你在那里做什么我认为你点击你的链接,然后将你从第A页移到第B页,你想要使用你在第B页的第A页上设置的那个变量,对不起,但这绝不会工作,当您刷新页面时,您的整个脚本会再次运行,并且它不知道您在上一页上做了什么。 您必须从网址(其中)获取该ID或将其存储在local storage中,请尝试以下操作:
$(document).ready(function () {
var correctAnswer;
var subId;
$( ".subject" ).click(function() {
subId = ($(this).attr('id')); //passed the id variable into the global variable
alert(subId) // when I alert this it returns the value
localStorage.setItem('subId', subId);
console.log('id stored');
});
$('#form-user').submit(function(e){
e.preventDefault();
var me = $(this);
var correct = correctAnswer;
var passedSubId = subId; // passed the global variable to this local variable
console.log(correct); // this is okey
console.log(subId); // this is undefined
storedSubId = localStorage.getItem('subId');
alert(storedSubId);
console.log('stored id');
});
});
无论如何从网址获取它绝对是你想去的方式