У меня есть ajax форма поиска, которая содержит только флажки.
Я хочу иметь возможность загружать все результаты при загрузке страницы.
Я пытался проверить, если все флажки сняты, затем первый, если в функции fetchResults
будет выполнено
, что происходит сейчас, когда я вижу все результаты при загрузке страницы, но когда я нажимаю флажки, результаты не изменяются.
вид потерян. любая помощь была бы удивительной.
Я попробовал эту вещь
это форма:
<form method="get" class="searchform" id="dealssearchform" action="<?php echo esc_url( home_url( '/' ) );?>">
<div class="row">
<div class="col-md-3 search-col">
<label>
<input type="checkbox" name="downloadspeed" value="100MB" class="cb" />
100MB
</label>
<label>
<input type="checkbox" name="downloadspeed" value="200MB" class="cb"/>
200MB
</label>
</div>
<div class="col-md-3 search-col">
<label>
<input type="checkbox" name="uploadspeed" value="100MB" class="cb" />
100MB
</label>
<label>
<input type="checkbox" name="uploadspeed" value="200MB" class="cb"/>
200MB
</label>
</div>
<div class="col-md-3 search-col">
<label>
<input type="checkbox" name="price" value="199" class="cb" />
199 ש"ח
</label>
<label>
<input type="checkbox" name="price" value="65" class="cb"/>
65 ש"ח
</label>
</div>
<div class="col-md-3 search-col">
<label>
<input type="checkbox" name="company_text" value="hot" class="cb" />
Hot
</label>
<label>
<input type="checkbox" name="company_text" value="בזק בינלאומי" class="cb"/>
בזק בינלאומי
</label>
</div>
</div>
<div id="datafetch">
</div>
</form>
это jquery событие
jQuery(".cb").on( "load click", fetchResults());
это ajax функция:
function ajax_fetch() {
?>
<script type="text/javascript">
function fetchResults(){
console.log('aa', jQuery('input.cb').not(':checked').length > 0)
if(jQuery('input.cb').not(':checked').length > 0){
jQuery.ajax({
url: '<?php echo admin_url('admin-ajax.php'); ?>',
type: 'post',
data: { action: 'data_fetch'},
success: function(data) {
jQuery('#datafetch').html( data );
// console.log(data);
// console.log(choices);
}
});
}else{
// declaring an array
var choices = {};
jQuery('input[type=checkbox]:checked').each(function() {
if (!choices.hasOwnProperty(this.name))
choices[this.name] = [this.value];
else
choices[this.name].push(this.value);
});
jQuery.ajax({
url: '<?php echo admin_url('admin-ajax.php'); ?>',
type: 'post',
data: { action: 'data_fetch', 'choices' : choices },
success: function(data) {
jQuery('#datafetch').html( data );
// console.log(data);
// console.log(choices);
}
});
};
};
</script>
<?php
};