gpt4 book ai didi

javascript - 使用 PHP 数组和 JS 将值填充到下拉列表中

转载 作者:行者123 更新时间:2023-11-30 07:51:33 25 4
gpt4 key购买 nike

我使用 PHP 和 JS 从 SQL 表中获取数据,然后将结果填充到下拉列表中。

我的代码工作正常,但我在使用返回输出作为 JS 数组时遇到问题。

在我的 PHP 代码部分,我将输出格式化为 JSON 编码'

    echo $js_array = json_encode($Unit_tenants);
// output is ["1","2","3"]

现在我想通过 JS 使用此输出的返回值将这些值填充到值为 1,2,3 的下拉列表中

我的JS代码

<script>

$(document).ready(function(){
$('#ddlUnitNo').change(function(){
//Selected value
var inputValue = $(this).val();

//Ajax for calling php function
$.post('list.php', { dropdownValue: inputValue }, function(data){


//do after submission operation in DOM

var select = document.getElementById("selectNumber");
var options = data;

// Optional: Clear all existing options first:
select.innerHTML = "";
// Populate list with options:
for(var i = 0; i < options.length; i++) {
var opt = options[i];
select.innerHTML += "<option value=\"" + opt + "\">" + opt + "</option>";
}
});
});
});
</script>

问题出在 var options = data 中,因为它被识别为字符串而不是具有多个值的数组。知道如何解决这个问题吗?

最佳答案

Javascript 不会接受 php 数组作为数组。您需要将其转换为数组,或者在本例中为 JSON 对象。

尝试以下操作:

在 PHP 中:

return json_encode($data);

在 JavaScript 中:

var options = JSON.parse(data);
// Populate list with options:
for(var i = 0; i < options.length; i++) {
var opt = options[i];
select.innerHTML += "<option value=\"" + opt + "\">" + opt + "</option>";
}

关于javascript - 使用 PHP 数组和 JS 将值填充到下拉列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52063639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com