Alvast bedankt voor jullie oplossing,
Ik heb in mijn code van alles wat veranderd, nu werkt ie helemaal niet meer. Het is beter dat ik alles gewoon weer over nieuw doe dus nu de vraag is hoe kan ik het beste doen of op welke manier?? zo dat ie in ieder browser werkt.
Online
Ik ben al 2 weken heel hard bezig met een zoek filter maar helaas nog lang niet af..!
Probleem : "Filteren werkt niet in IE7, Opera, Safari"
Ik zal even vertellen wat de bedoeling is.
Na dat het resultaat naar browser verstuurd is moet verder met Jquery kunnen filteren op de volgende dingen
Start datum
Eind datum
Land, Stad en Locatie
Ieder product krijgt zo 'n div
<div class="tickets_2800" data-json="{"productsId":"2800","date":"2013-10-13","countries":"5","cities":"99","location":"138"}">
Product informatie
</div>
En hier is mijn script
[code]
<script type="text/javascript">
$(document).ready(function (){
$('#filter').click(function () {
//wanneer gebruikers op filter klikt
Filter();
});
function Filter(){
//Datum format veranderen naar yyyy-mm-dd
var startDate = $('.verfijnen .search .fromDate').val();
var startDate = startDate.split('/');
var startDate = startDate[2]+'-'+startDate[1]+'-'+startDate[0];
//Datum format veranderen naar yyyy-mm-dd
var endDate = $('.verfijnen .search .toDate').val();
var endDate = endDate.split('/');
var endDate = endDate[2]+'-'+endDate[1]+'-'+endDate[0];
//Geselecteerde waardes ophalen
var countries = $('.verfijnen .search #countries').val();
var cities = $('.verfijnen .search #cities').val();
var location = $('.verfijnen .search #location').val();
$('div.tickets').each(function() {
//convereten naar object
var objData = $.parseJSON($(this).attr('data-Json'));
//date.parse werkt niet in ieder browser
//Datum naar time()
var timeStartDate = date.parse(startDate);
var timeEndDate = date.parse(endDate);
var timeProductDate = date.parse(objData.date);
//alles beide datum velden niet leeg is
if(startDate.length > 0 && endDate.length > 0){
//valt product datum tussen beide datums die gebruiker heeft gekozen ?
if(timeProductDate.between(timeStartDate,timeEndDate)){
$('.tickets_'+objData.productsId).show();
}else{
$('.tickets_'+objData.productsId).hide();
}
}else{
//als alleen start datum gekozen
if(startDate.length > 0){
if( timeProductDate >= timeStartDate ){
$('.tickets_'+objData.productsId).show();
}else{
$('.tickets_'+objData.productsId).hide();
}
} else if(endDate.length > 0){
//als alleen eind datum gekozen
if( timeProductDate <= timeEndDate ){
$('.tickets_'+objData.productsId).show();
}else{
$('.tickets_'+objData.productsId).hide();
}
} else {
//anders! alles weer laten zien
$('.tickets_'+objData.productsId).show();
}
}
//is er een land geselecteerd en waarde is meer dan 0
if(countries > 0){
//is product land waarde niet zelfde als geselecteerde land waarde ? verberg het!
if(objData.countries != countries){
$('.tickets_'+objData.productsId).hide();
}
}
//is er een stad geselecteerd en waarde is meer dan 0
if(cities > 0){
//is product stad waarde niet zelfde als geselecteerde stad waarde ? verberg het!
if(objData.cities != cities){
$('.tickets_'+objData.productsId).hide();
}
}
//is er een locatie geselecteerd en waarde is meer dan 0
if(location > 0){
//is product locatie waarde niet zelfde als geselecteerde locatie waarde ? verberg het!
if(objData.location != location){
$('.tickets_'+objData.productsId).hide();
}
}
});
}//end function filter
//check Range number Dit komt van internet
Number.prototype.between = function(first,last){
return (first < last ? this >= first && this <= last : this >= last && this <= first);
}
});
</script>
[code]