如何用 php 数组值替换 jquery 变量值
How to replace jquery variable values with php array values
我正在使用 php,我想使用 jquery 更改下拉列表的值,我想将 php 数组传递给 jquery 变量(制作动态下拉列表价值)
现在我得到以下格式的数组($data)
Array
(
[0] => stdClass Object
(
[UserId] => 8
[name] => web1
)
[1] => stdClass Object
(
[UserId] => 9
[name] => web2
)
)
这是我的脚本,它显示静态“下拉”值,但我想将 php 数组(名称)值传递给下拉列表,这样我就可以制作动态下拉列表
<script>
var newOptions = {
"Select your user":"",
"Option 1":"option-1",
"Option 2":"option-2"
};
var $el = $('#acf-field_628e17fc947e4');
$el.html(' ');
$.each(newOptions, function(key, value) {
$el.append($("<option></option>")
.attr("value", value).text(key));
});
</script>
你有一个数组要从 PHP 传递给 JS,所以你可以像这样使用 json_encode:(下面的例子是动态的)
<?php
$phpArray = array(
0 => "Mon",
1 => "Tue",
2 => "Wed",
3 => "Thu",
4 => "Fri",
5 => "Sat",
6 => "Sun",
)
?>
<script type="text/javascript">
var jArray = <?php echo json_encode($phpArray); ?>;
for(var i=0; i<jArray.length; i++){
alert(jArray[i]);
}
</script>
var newOptions = <?php echo json_encode($array); ?>;
然后将您的附加行更改为此,您就可以开始了
$el.append('<option value="'+ value.UserId +'">'+ value.name +'</option>');
工作片段:
var newOptions = [{"UserId":8,"name":"web1"},{"UserId":9,"name":"web2"}];
var $el = $('#acf-field_628e17fc947e4');
$el.html(' ');
$el.append('<option value="">Select your user</option>');
$.each(newOptions, function(key, value) {
$el.append('<option value="'+ value.UserId +'">'+ value.name +'</option>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="acf-field_628e17fc947e4"></select>
注意:要添加 select 选项,请将其添加到数组中,如下所示:
array_unshift($array , ['UserId'=>'',"name":"name":"web1"]);
然后删除这一行:$el.append('<option value="">Select your user</option>');
我正在使用 php,我想使用 jquery 更改下拉列表的值,我想将 php 数组传递给 jquery 变量(制作动态下拉列表价值) 现在我得到以下格式的数组($data)
Array
(
[0] => stdClass Object
(
[UserId] => 8
[name] => web1
)
[1] => stdClass Object
(
[UserId] => 9
[name] => web2
)
)
这是我的脚本,它显示静态“下拉”值,但我想将 php 数组(名称)值传递给下拉列表,这样我就可以制作动态下拉列表
<script>
var newOptions = {
"Select your user":"",
"Option 1":"option-1",
"Option 2":"option-2"
};
var $el = $('#acf-field_628e17fc947e4');
$el.html(' ');
$.each(newOptions, function(key, value) {
$el.append($("<option></option>")
.attr("value", value).text(key));
});
</script>
你有一个数组要从 PHP 传递给 JS,所以你可以像这样使用 json_encode:(下面的例子是动态的)
<?php
$phpArray = array(
0 => "Mon",
1 => "Tue",
2 => "Wed",
3 => "Thu",
4 => "Fri",
5 => "Sat",
6 => "Sun",
)
?>
<script type="text/javascript">
var jArray = <?php echo json_encode($phpArray); ?>;
for(var i=0; i<jArray.length; i++){
alert(jArray[i]);
}
</script>
var newOptions = <?php echo json_encode($array); ?>;
然后将您的附加行更改为此,您就可以开始了
$el.append('<option value="'+ value.UserId +'">'+ value.name +'</option>');
工作片段:
var newOptions = [{"UserId":8,"name":"web1"},{"UserId":9,"name":"web2"}];
var $el = $('#acf-field_628e17fc947e4');
$el.html(' ');
$el.append('<option value="">Select your user</option>');
$.each(newOptions, function(key, value) {
$el.append('<option value="'+ value.UserId +'">'+ value.name +'</option>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="acf-field_628e17fc947e4"></select>
注意:要添加 select 选项,请将其添加到数组中,如下所示:
array_unshift($array , ['UserId'=>'',"name":"name":"web1"]);
然后删除这一行:$el.append('<option value="">Select your user</option>');