2016-11-22 3 views
0

Я новичок в JQuery и хочу напечатать все время с понедельника только (или дня == сегодня позже)JQuery содержания объекта печати

мне удалось напечатать все времена объекта, а не один день я выбираю , может быть, моя итерация неправильная, хотелось бы любых намеков.

var arr = [{ 
 
    "dateString": "2016-12-05", 
 
    "weekday": "mon", 
 
    "opening_hours": [{ 
 
    "from": "09:00", 
 
    "to": "15:00", 
 
    "fromNumber": 9, 
 
    "toNumber": 15 
 
    }, { 
 
    "from": "17:00", 
 
    "to": "20:00", 
 
    "fromNumber": 17, 
 
    "toNumber": 20 
 
    }] 
 
}, { 
 
    "dateString": "2016-12-06", 
 
    "weekday": "tue", 
 
    "opening_hours": [{ 
 
    "from": "09:00", 
 
    "to": "17:00", 
 
    "fromNumber": 9, 
 
    "toNumber": 17 
 
    }] 
 
}, { 
 
    "dateString": "2016-12-07", 
 
    "weekday": "wed", 
 
    "opening_hours": [{ 
 
    "from": "09:00", 
 
    "to": "20:00", 
 
    "fromNumber": 9, 
 
    "toNumber": 20 
 
    }] 
 
}, { 
 
    "dateString": "2016-12-08", 
 
    "weekday": "thu", 
 
    "opening_hours": [{ 
 
    "from": "1:00", 
 
    "to": "11:00", 
 
    "fromNumber": 1, 
 
    "toNumber": 11 
 
    }] 
 
}]; 
 

 
$("button").click(function() { 
 

 
    var today = new Date(); 
 
    var str = today.toString('dddd, MMMM ,yyyy') 
 
    var sta = str.substring(0, 4); 
 
    console.log(sta); 
 
    $.each(arr, function(i, currProgram) { 
 
    $.each(currProgram.opening_hours, function(key, val) { 
 
     // $.each(num, function (axa, dasa) { 
 
     if (currProgram.weekday == "mon") { 
 
     console.log("monday"); 
 
     timefrom = (val.from); 
 
     timeto = (val.to); 
 
     } else { 
 
     console.log("no monday"); 
 
     } 
 
     // console.log(num[axa]); 
 
     $(".result").append("\ntime: " + timefrom + " to " + timeto + "\n"); 
 
     console.log("time: " + timefrom + " to " + timeto + "\n"); 
 
     // }); 
 
    }); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<p class="calnote"> 
 
    <day></day> 
 
    <br> 
 
    <month></month> 
 
    <blackcorner> 
 
    <em> 
 
     <time></time> 
 
     </em> 
 
    </blackcorner> 
 
</p> 
 

 
<div id="div1"> 
 
    <h2>click button for ajax</h2></div> 
 
<div class="result"> 
 
    <br> 
 
</div>result</div> 
 
<br> 
 
<div class="result1"> 
 

 
</div>result1</div> 
 
<p class="calnote"> 
 
    <day></day> 
 
    <br> 
 
    <month></month> 
 

 
    <blackcorner> 
 
    <em> 
 
     <time></time> 
 
     </em> 
 
    </blackcorner> 
 
</p> 
 
click event 
 
<button class="abc">Click me</button> here

jsfiddle

Результат должен напечатать только:

Время: с 09:00 до 15:00

время: 17:00 до 20 : 00

ответ

0

Вы можете переместить логику console.log("time: " + timefrom + " to " + timeto + "\n"); в КРП блок

var arr = [{ 
 
    "dateString": "2016-12-05", 
 
    "weekday": "mon", 
 
    "opening_hours": [{ 
 
    "from": "09:00", 
 
    "to": "15:00", 
 
    "fromNumber": 9, 
 
    "toNumber": 15 
 
    }, { 
 
    "from": "17:00", 
 
    "to": "20:00", 
 
    "fromNumber": 17, 
 
    "toNumber": 20 
 
    }] 
 
}, { 
 
    "dateString": "2016-12-06", 
 
    "weekday": "tue", 
 
    "opening_hours": [{ 
 
    "from": "09:00", 
 
    "to": "17:00", 
 
    "fromNumber": 9, 
 
    "toNumber": 17 
 
    }] 
 
}, { 
 
    "dateString": "2016-12-07", 
 
    "weekday": "wed", 
 
    "opening_hours": [{ 
 
    "from": "09:00", 
 
    "to": "20:00", 
 
    "fromNumber": 9, 
 
    "toNumber": 20 
 
    }] 
 
}, { 
 
    "dateString": "2016-12-08", 
 
    "weekday": "thu", 
 
    "opening_hours": [{ 
 
    "from": "1:00", 
 
    "to": "11:00", 
 
    "fromNumber": 1, 
 
    "toNumber": 11 
 
    }] 
 
}]; 
 

 
function buttonClick() { 
 

 
    var today = new Date(); 
 
    var str = today.toString('dddd, MMMM ,yyyy') 
 
    var sta = str.substring(0, 4); 
 
    $.each(arr, function(i, currProgram) { 
 
    $.each(currProgram.opening_hours, function(key, val) {  
 
     if (currProgram.weekday == "mon") { 
 
     //console.log("monday"); 
 
     timefrom = (val.from); 
 
     timeto = (val.to);  
 
     \t console.log("time: " + timefrom + " to " + timeto + "\n");  
 
     } else { 
 
     //console.log("no monday"); 
 
     }  
 
    }); 
 
    }); 
 
} 
 

 
buttonClick()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>