我是JavaScript中createElement属性的新手。我需要从MySQL查询创建一个下拉菜单。我从MySQL查询创建了一个PHP数组,如下所示:

<?
$vendorInformation=mysql_query("SELECT * FROM `vendor`",$con);
$row=array();

while($v=mysql_fetch_assoc($vendorInformation))
{
    $row[]= $v['id'];
    $row[]= $v['name'];
}

$row=json_encode($row);
echo $row;
//OUTPUT: ["1","Cisco","2","Juniper","3","Opengear"]
?>

然后我编写了JavaScript代码:
<script>
var inputs = 1;
var v_array = <?=$row;?>;
//OUTPUT for v_array: 1,Cisco,2,Juniper,3,Opengear
var inp3 = document.createElement('SELECT');
var o=document.createElement("option");
inp3.setAttribute("id","v"+(inputs));

for (var i = 0; i < v_array.length; i++)
{
    var o=document.createElement("option");
    o.setAttribute("name","red");
    o.setAttribute("value","me");
    o.innerHTML=name;
    inp3.appendChild(o);
}
</script>

我不知道怎么才能完成这段代码。
根据数组的输出,选项值应为1、2、3,值应分别为Cisco、Juniper和Opengear。

最佳答案

最好在PHP中使用这种格式:

while($v = mysql_fetch_assoc($vendorInformation)) {
    $row[] = array(
        "id"=>$v['id'],
        "name"=>$v['name']
    );
}

然后,在JavaScript中,您可以执行以下操作:
var inp3 = document.createElement('select'),
    l = v_array.length, i;
for( i=0; i<l; i++) {
    inp3.options[i] = new Option(v_array[i].name,v_array[i].id);
}

关于javascript - 用于动态下拉菜单的javascript createelement,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20037763/

10-12 07:39
查看更多