如何在.js文件中使用php数组值?
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?
我想使用输入类型隐藏值,这是数组到.js文件的select2复选框。 p> \ n
Php表格 p>
&lt; input type =“hidden”name =“post_array”id =“post_array”value =“&lt;?php print_r($ post_ids);?&gt;“&gt;
code> pre>
输出: p>
Array
(
[0 ] =&gt; 25171
[1] =&gt; 25163
)
code> pre>
我试图在jquery中使用单独的.js文件获取值 p >
var test = $('#post_array')。val();
alert(test);
code> pre>
输出 与php输出相同: p>
Array
(
[0] =&gt; 25171
[1] =&gt; 25163
)
code > pre>
我想在这里使用数组值。 p>
$(“#slider_post”)。val([“25171”]) .trigger('change.select2');
code> pre>
如何用php数组替换 .val([“25171”]) code> 值? p>
div>
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