Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript脚本失败并发出警报_Javascript_Jquery_Alert - Fatal编程技术网

Javascript脚本失败并发出警报

Javascript脚本失败并发出警报,javascript,jquery,alert,Javascript,Jquery,Alert,我有以下代码: $(".zalen").change(function(){ var number = $(this).val(); $('.Zaal').load('zaal'+ number +'.html'); var storageName = "zaal" + $(".zalen").val() + '_chairs'; var chairs = localStorage.getItem(storageName);

我有以下代码:

$(".zalen").change(function(){
        var number = $(this).val(); 
        $('.Zaal').load('zaal'+ number +'.html');

        var storageName = "zaal" + $(".zalen").val() + '_chairs';
        var chairs = localStorage.getItem(storageName);
        if(chairs == null)
        {
            chairs = "";
        }
        var chairArray = chairs.split(" "); 
        alert(chairArray);
        $("td.chair").each(function(index){
            for(var i=0; i < chairArray.length; i++)
            {
                if(index == chairArray[i])
                {
                    $(this).addClass('reserved');   
                }
            }
        })
    });
$(“.zalen”).change(函数(){
var number=$(this.val();
$('.Zaal').load('Zaal'+number+'.html');
var storageName=“zaal”+$(“.zalen”).val()+''u椅子';
var=localStorage.getItem(storageName);
if(chairs==null)
{
椅子=”;
}
var chairArray=chairs.split(“”);
警报(阵列);
$(“td.chair”)。每个功能(索引){
对于(var i=0;i
注意椅子分开后的警告

它与警报完美配合。但当我完成测试并删除警报时。代码停止工作,我不知道它为什么会这样做

有人能帮我解决这个问题吗

解决方案:

$(".zalen").change(function(){
        var number = $(this).val(); 
        $('.Zaal').load('zaal'+ number +'.html', function() {
            var storageName = "zaal" + $(".zalen").val() + '_chairs';
            var chairs = localStorage.getItem(storageName);
            if(chairs == null)
            {
                chairs = "";
            }
            var chairArray = chairs.split(" ");  
            $("td.chair").each(function(index){
                for(var i=0; i < chairArray.length; i++)
                {
                    if(index == chairArray[i])
                    {
                        $(this).addClass('reserved');   
                    }
                }
            })
        });
    });
$(“.zalen”).change(函数(){
var number=$(this.val();
$('.Zaal').load('Zaal'+number+'.html',function(){
var storageName=“zaal”+$(“.zalen”).val()+''u椅子';
var=localStorage.getItem(storageName);
if(chairs==null)
{
椅子=”;
}
var chairArray=chairs.split(“”);
$(“td.chair”)。每个功能(索引){
对于(var i=0;i
感谢@jbabey为您提供的解决方案。Iam非常感激

jquery的函数对内容执行异步请求。您需要等到内容准备就绪后再对其进行操作。当您收到警报时,代码会暂停足够长的时间,以便
加载完成。任何依赖于加载到
.Zaal
中的内容的代码都应该位于加载的成功处理程序中:

$(".zalen").change(function(){
    var number = $(this).val(); 
    $('.Zaal').load('zaal'+ number +'.html', function () {
        // put all of this in the complete callback
        var storageName = "zaal" + $(".zalen").val() + '_chairs';
        var chairs = localStorage.getItem(storageName);
        if(chairs == null) {
            chairs = "";
        }
        var chairArray = chairs.split(" "); 
        alert(chairArray);
        $("td.chair").each(function(index){
            for(var i=0; i < chairArray.length; i++) {
                if(index == chairArray[i]) {
                    $(this).addClass('reserved');   
                }
            }
        })
    });
});
$(“.zalen”).change(函数(){
var number=$(this.val();
$('.Zaal').load('Zaal'+number+'.html',函数(){
//将所有这些放在完整的回调中
var storageName=“zaal”+$(“.zalen”).val()+''u椅子';
var=localStorage.getItem(storageName);
if(chairs==null){
椅子=”;
}
var chairArray=chairs.split(“”);
警报(阵列);
$(“td.chair”)。每个功能(索引){
对于(var i=0;i
您也可以发布您的HTML吗?或者更好的是,把一个jsFiddle>www.jsFiddle.net
load()
放在一起是异步的。您需要将所有代码放在它的成功回调中。@jbabey这应该是一个答案。这就是需要提醒的原因。谢谢@jbabey,我尝试了你的建议,效果很好。我非常感谢你的帮助