[英]How to echo php array in javascript?
我有一个由服务器端代码生成的php数组。 在用户从下拉菜单中选择一个选项后,我想在输入字段中显示数组值。 请查看我的代码:
$(document).ready(function(){
$('select[name="job_number"]').change (function () {
var selectedVal = $(this).val();
var test="<?php echo $JNarray['selectedVal'];?>"; //where the problem is
$('input[name="project"]').val(test);
//I want show value1 to value 3 in my input field when user picks
//an option from my dropdown menu.
});
<?php
$JNarray['job1']=value1;
$JNarray['job2']=value2;
$JNarray['job3']=value3;
?>
<form action='project_manager' method='post'>
<input type='text' name='project' value='show value1 to value3 when user picks an option' />
<select name='job_number'>
<option value='job1'>job1</option>
<option value='job2'>job2</option>
<option value='job3'>job3</option>
</select>
</form>
有什么想法吗? 谢谢您的帮助!
这是一种更干净的方法,而不必将数组设置为变量。 使用jQuery通过$ .data()读取的数据属性
HTML:
<option value='job1' data-job-val="<? echo $arrayvalue ?>">job1</option>
JS:
$('select[name="job_number"]').change (function () {
var test=$(this).find('option:selected').data('job-val');
$('input[name="project"]').val(test);
});
虽然,我不建议在js中回显php ...
var test=JSON.parse(<?php echo json_encode($JNarray['selectedVal']);?>); //where the problem is
<select name='job_number'>
<option value='<?php echo $JNarray['job1'] ?>'>job1</option>
...
...
</select>
<script>
$(document).ready(function(){
$('select[name="job_number"]').change (function () {
$('input[name="project"]').val($(this).val());
});
</script>
这样的事情。
您必须先声明并填充数组,然后才能在jquery代码上使用它。 将您的<?php ?>
代码移到顶部。
然后将整个php数组传递给javascript,使用Trevor建议的JSON:
$(document).ready(function(){ var options = JSON.parse(<?php echo json_encode($JNarray);?>); $('select[name="job_number"]').change (function () { var selectedVal = $(this).val(); var test=options[selectedVal]; //where the problem was $('input[name="project"]').val(test); }); });
我同意Trevor,但是请尝试
"<?php echo $JNarray['"+selectedVal+"'];?>"
回显PHP意味着您从PHP文件中调用JS,这不是一个好方法!我唯一要传递的可能是BASE_URL或FILE_UPLOAD_TYPE / SIZE,即使那些是ewwwwwwwy
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.