Javascript jQuery赢得';在第二次刷新之前不要加载数据
好的,我使用了几个插件来首先填充php文件中的一些select,然后使用“selected”插件在select上添加一些搜索功能。问题是,一旦我加载了页面,所选内容就会添加到select中,但select中会有0个选项,直到我刷新页面为止。我不知道这是否与他们被呼叫的顺序有关,但在移动版本上,似乎加载良好。(虽然我没有看到任何搜索,但是CSS就在上面) 这是事情发生的顺序 HTML 标题Javascript jQuery赢得';在第二次刷新之前不要加载数据,javascript,php,jquery,html,css,Javascript,Php,Jquery,Html,Css,好的,我使用了几个插件来首先填充php文件中的一些select,然后使用“selected”插件在select上添加一些搜索功能。问题是,一旦我加载了页面,所选内容就会添加到select中,但select中会有0个选项,直到我刷新页面为止。我不知道这是否与他们被呼叫的顺序有关,但在移动版本上,似乎加载良好。(虽然我没有看到任何搜索,但是CSS就在上面) 这是事情发生的顺序 HTML 标题 功能联盟选项(){ var load=$.get('functions.php',{function:“L
功能联盟选项(){
var load=$.get('functions.php',{function:“LeagueOptions”});
$(“.leagueOpts”).html(‘刷新’);
load.error(函数(){
控制台日志(“Mlkia kaneis”);
$(“.leagueOpts”).html('加载失败');
//如果请求失败,请在此处执行操作
});
加载成功(函数(res){
控制台日志(“成功”);
$(“.leagueOpts”).html(res);
});
load.done(函数(){
控制台日志(“已完成”);
});
}
职能小组(){
var load=$.get('functions.php',{function:“fillTeams”});
$(“.fillTeams”).html(“刷新”);
load.error(函数(){
控制台日志(“Mlkia kaneis”);
$(“.fillTeams”).html('加载失败');
//如果请求失败,请在此处执行操作
});
加载成功(函数(res){
控制台日志(“成功”);
$(“.fillTeams”).html(res);
//日期选择器
$('#日期选择器1')。日期选择器({
格式:“yyyy-dd-mm”
});
});
load.done(函数(){
控制台日志(“已完成”);
});
}
页中
<select name="teamName" class="fillTeams" id="default-select">
<script>
fillTeams();
</script>
</select>
<select name="leagueID" class="leagueOpts">
<script>
LeagueOptions();
</script>
</select>
<script language="javascript" type="text/javascript" src="js/plugins/chosen/chosen/chosen.jquery.min.js"></script>
<script type="text/javascript">
var config = {
'.chosen-select' : {},
'.chosen-select-deselect' : {allow_single_deselect:true},
'.chosen-select-no-single' : {disable_search_threshold:10},
'.chosen-select-no-results': {no_results_text:'Oops, nothing found!'},
'.chosen-select-width' : {width:"95%"}
}
for (var selector in config) {
$(selector).chosen(config[selector]);
}
var config2 = {
'.fillTeams' : {},
'.fillTeams-deselect' : {allow_single_deselect:true},
'.fillTeams-no-single' : {disable_search_threshold:10},
'.fillTeams-no-results': {no_results_text:'Oops, nothing found!'},
'.fillTeams-width' : {width:"95%"}
}
for (var selector in config2) {
$(selector).chosen(config2[selector]);
}
var config3 = {
'.leagueOpts' : {},
'.leagueOpts-deselect' : {allow_single_deselect:true},
'.leagueOpts-no-single' : {disable_search_threshold:10},
'.leagueOpts-no-results': {no_results_text:'Oops, nothing found!'},
'.leagueOpts-width' : {width:"95%"}
}
for (var selector in config3) {
$(selector).chosen(config3[selector]);
}
</script>
fillTeams();
联盟选择();
页底
<select name="teamName" class="fillTeams" id="default-select">
<script>
fillTeams();
</script>
</select>
<select name="leagueID" class="leagueOpts">
<script>
LeagueOptions();
</script>
</select>
<script language="javascript" type="text/javascript" src="js/plugins/chosen/chosen/chosen.jquery.min.js"></script>
<script type="text/javascript">
var config = {
'.chosen-select' : {},
'.chosen-select-deselect' : {allow_single_deselect:true},
'.chosen-select-no-single' : {disable_search_threshold:10},
'.chosen-select-no-results': {no_results_text:'Oops, nothing found!'},
'.chosen-select-width' : {width:"95%"}
}
for (var selector in config) {
$(selector).chosen(config[selector]);
}
var config2 = {
'.fillTeams' : {},
'.fillTeams-deselect' : {allow_single_deselect:true},
'.fillTeams-no-single' : {disable_search_threshold:10},
'.fillTeams-no-results': {no_results_text:'Oops, nothing found!'},
'.fillTeams-width' : {width:"95%"}
}
for (var selector in config2) {
$(selector).chosen(config2[selector]);
}
var config3 = {
'.leagueOpts' : {},
'.leagueOpts-deselect' : {allow_single_deselect:true},
'.leagueOpts-no-single' : {disable_search_threshold:10},
'.leagueOpts-no-results': {no_results_text:'Oops, nothing found!'},
'.leagueOpts-width' : {width:"95%"}
}
for (var selector in config3) {
$(selector).chosen(config3[selector]);
}
</script>
变量配置={
“.选择“:{}”,
'.selected-select-deselect':{allow_single_-deselect:true},
'.selected no single':{disable_search_threshold:10},
“.selected select no results':{no_results_text:'Oops,找不到任何内容!',
“.selected select width':{width:“95%”
}
for(配置中的变量选择器){
$(选择器).selected(配置[选择器]);
}
变量配置2={
“.fillTeams”:{},
“.FillTeam取消选择”:{allow_single_deselect:true},
“.fillTeams no single”:{禁用搜索阈值:10},
“.fillTeams无结果”:{no_results_text:'Oops,未找到任何内容!',
“.fillTeams width”:{width:“95%”
}
for(配置2中的var选择器){
$(选择器)。已选择(配置2[选择器]);
}
变量配置3={
'联盟选择':{},
'.leagueOpts deselect':{allow_single_deselect:true},
“.Leaguets no single”:{禁用搜索阈值:10},
“.Leaguets no results':{no_results_text:'Oops,找不到任何结果!',
“.Leaguets宽度”:{宽度:“95%”
}
for(配置3中的var选择器){
$(选择器)。已选择(配置3[选择器]);
}
这不是正确的顺序吗?声明函数,调用它们来填充选择,然后在底部将插件添加到特定类中?为什么只有在刷新后,它才会在selects中加载数据?是的,顺序正确,但底部的代码将在ajax调用返回内容之前运行。将整个选择的配置放入一个函数中,比如说
setupselected(){…allthatcode…}
,并在success方法中调用它
load.success(function( res ) {
setupChosen();
...other code...
}
编辑:看起来您正在设置两个选择,在将选择绑定到它们之前,需要加载这两个选择。有几种方法可以做到这一点,但你可以试试这样的方法
HTML:
<select name="teamName" class="fillTeams" id="default-select">
</select>
<select name="leagueID" class="leagueOpts">
</select>
$(document).ready(function(){
LeagueOptions();
});
function LeagueOptions() {
var load = $.get('functions.php',{function:"LeagueOptions"});
$(".leagueOpts").html('Refreshing');
load.error(function() {
$(".leagueOpts").html('failed to load');
});
load.success(function( res ) {
$(".leagueOpts").html(res);
});
load.done(function() {
// Call the next load once it's finished
fillTeams();
});
}
function fillTeams(){
var load = $.get('functions.php',{function:"fillTeams"});
$(".fillTeams").html('Refreshing');
load.error(function() {
$(".fillTeams").html('failed to load');
});
load.success(function( res ) {
$(".fillTeams").html(res);
$('#datepicker1').datepicker({
format: 'yyyy-dd-mm'
});
});
load.done(function() {
// Now that we've loaded both, set up Chosen
setupChosen();
});
}