functionto $_POST url constructed with js method 03

This commit is contained in:
jorge-vitrubio 2023-01-13 18:30:23 +01:00
parent 99b0a39d3f
commit 6959347849
1 changed files with 43 additions and 34 deletions

View File

@ -60,15 +60,10 @@ if( ! function_exists( 'ofisuport_ajuts_filters_form' ) ):
<h5><?php echo $fields['label'];?></h5>
<?php foreach( $fields['choices'] as $choicevalue => $choicelabel ) { ?>
<div class="filter" data-filter="<?php echo $fields['name'];?>">
<input
class="ofisuport-filter"
type="checkbox"
<?php if( in_array($choicevalue,$filteredvalues['value']) ) { echo 'checked';}; ?>
value="<?php echo $choicevalue ?>"
name="<?php echo $fields['name'];?>" />
<label for="<?php echo $choicevalue; ?>"><?php echo $choicelabel;?></label>
</div>
<div class="filter" data-filter="<?php echo $fields['name'];?>">
<input class="ofisuport-filter" type="checkbox" name="<?php echo $fields['name'];?>" <?php if( in_array($choicevalue,$filteredvalues['value']) ) { echo 'checked';}; ?> value="<?php echo $choicevalue ?>" />
<label for="<?php echo $choicevalue; ?>"><?php echo $choicelabel;?></label>
</div>
<?php };//end foreach fields['choices'] ?>
@ -106,42 +101,56 @@ if( ! function_exists( 'ofisuport_ajuts_filters_form' ) ):
// vars
var url = '<?php echo home_url('ajuts/'); ?>';
args = {};
var appendtoURL = '';
var eachfiltered = '';
var valueschecked = '';
// loop over filters
$('#archive-filters .filter').each(function(){
urldos = url;
// vars
var filteredajuts = $(this).data('filter'),
vals = [],
allvalueschecked = [];
// find checked inputs
$(this).find('input:checked').each(function(){
vals.push( $(this).val() );
var thisvaluechecked = $(this).val();
urldos += filteredajuts;
});
// append to args
args[ filteredajuts ] = vals.join(',');
alert( filteredajuts +'=' +args[ filteredajuts ]);
// check if is first appearance of each
if( eachfiltered != $(this).data('filter') ){
// save already calculated field=val01,val02,val03
appendtoURL += eachfiltered +'=' +valueschecked +'&';
// remove last ','
appendtoURL = appendtoURL.slice(0, -1);
// start new fieldname filtered
eachfiltered = $(this).data('filter');
// reset values
valueschecked = '';
// find checked inputs
$(this).find('input:checked').each(function(){
// if not empty save value and ,
if( $(this).val() != '' ){
valueschecked = $(this).val() + ',';
}
});
} else {
// we have previous values checked
// find checked inputs
if( $(this).val() != '' ){
// if not empty append value and ,
$(this).find('input:checked').each(function(){
valueschecked += $(this).val() + ',';
});
}
};
});
// save last cycled filtered value already calculated field=val01,val02,val03
appendtoURL += eachfiltered +'=' +valueschecked +'&';
// remove last &
appendtoURL = url.slice(0, -1);
// update url
url += '?';
// loop over args
$.each(args, function( name, value ){
url += name + '=' + value + '&';
});
// remove last &
url = url.slice(0, -1);
// reload page
//$('#archive-filters button').on('click', function () {
alert( "estoy en: " +url );
alert( "estoy en: " +url +appendtoURL);
//window.location.replace( url );
//});