Javascript jQuery赢得';在第二次刷新之前不要加载数据

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

好的,我使用了几个插件来首先填充php文件中的一些select,然后使用“selected”插件在select上添加一些搜索功能。问题是,一旦我加载了页面,所选内容就会添加到select中,但select中会有0个选项,直到我刷新页面为止。我不知道这是否与他们被呼叫的顺序有关,但在移动版本上,似乎加载良好。(虽然我没有看到任何搜索,但是CSS就在上面)

这是事情发生的顺序

HTML 标题


功能联盟选项(){
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();
    });
}