I want to use input type hidden value which is array to .js file for select2 checkbox.
Php form
<input type="hidden" name="post_array" id="post_array" value="<?php print_r($post_ids); ?>">
Output:
Array
(
[0] => 25171
[1] => 25163
)
Value I am trying to fetch in jquery with separate .js file
var test = $('#post_array').val();
alert(test);
Output is same as php output:
Array
(
[0] => 25171
[1] => 25163
)
I want to use array values here.
$("#slider_post").val(["25171"]).trigger('change.select2');
How can i replace .val(["25171"])
with php array values?
What you need is to find a common format which both languages can understand, the most commonly used format used for these two languages to communicate is JSON, as such, you can do the following:
In your PHP file, you can define the JavaScript variable:
<?php
?>
<script>
let my_array = JSON.parse('<?= json_encode($my_array) ?>');
</script>
<?php
// php code...
?>
As per Jon Stirling's comment:
The first option will only work if:
a) the JS file in included afterwards,
or b) the code in the js file run in a way that it runs after the document has loaded
or, using your method, you need to encode the as a JSON string via PHP then parse it as JSON in JavaScript:
<input type="hidden" name="post_array" id="post_array" value="<?= json_encode($post_ids); ?>">
Then,
var test = JSON.parse($('#post_array').val());
Reading Material