我的index.html
页面中有两个JavaScript变量。我想在control.js中使用这两个变量。
index.html
有一些jQuery脚本,如下所示
<script>
$(document).ready(function() {
// load select code from country.html
$('#selectCourse_country').load('country.html select', function() {
// when country is selected
$('#selectCourse_country select').change(function() {
// get id
var countryId = $(this).children('option:selected').val();
// load select code from state.html by id
$('#selectCourse_state').load('state.html #'+countryId,function(){
$('#selectCourse_state select').change(function(){
var stateId = $(this).children('option:selected').val();
//alert(stateId);
});
});
});
});
});
</script>
我想在countryId
中使用变量值stateId
和control.js
。如何将它们从index.html
传递到control.js
。
答案 0 :(得分:2)
在项目中创建一个可以包含任何对象的全局容器。这些对象可以在应用程序的任何js页面中全局访问。
window.global ={country_ID : countryId , state_ID : stateId};
然后在control.js中使用它们,如:
var contId =window.global.country_ID;
var statId =window.global.state_ID;
答案 1 :(得分:0)
使用jQuery.cookie(https://github.com/carhartl/jquery-cookie),以下内容应符合您的需求。
写饼干......
$.cookie("countryId", countryId);
$.cookie("stateId", stateId);
然后在control.js中你可以得到像这样的值......
var countryId = $.cookie("countryId");
var stateId = $.cookie("stateId");
答案 2 :(得分:0)
jQuery解决方案很好。这是一个 使用cookies。
为简洁起见我只编写了stateID
//Store cookie.
var stateId = $(this).children('option:selected').val();
document.cookie = "stateid="+ stateId;
//Get user cookie and match stateID
var cookies = document.cookie.split(';')
for (var i = 0 ; i< cookies.length;i++){
if(cookies[i].match(/stateid/)){
//Do stuff
}
}
答案 3 :(得分:0)
这可能对您有所帮助。
使用modernizer将数据从html传递到另一个js文件。
//Load JS through Modernizer
Modernizr.load([
// Functional polyfills
{
// This just has to be truthy
test : Modernizr.websockets && window.JSON,
// socket-io.js and json2.js
// Arrays of resources to load.
both : [ '/js/jquery.min.js', '/js/jquery-ui-min.js'],
complete : function () {
// Run this after everything in this group has downloaded
// and executed, as well everything in all previous groups
$('#selectCourse_country').load('country.html select', function() {
// when country is selected
$('#selectCourse_country select').change(function() {
// get id
var countryId = $(this).children('option:selected').val();
// load select code from state.html by id
$('#selectCourse_state').load('state.html #'+countryId,function(){
$('#selectCourse_state select').change(function(){
var stateId = $(this).children('option:selected').val();
//alert(stateId);
});
});
});
});
}
},
// Run your code afte you've already kicked off all the rest
// of your app.
// Pass variables to this js file
'/js/control.js'
]);