我使用 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/