for循环在javascript中获取选择列表中的值

时间:2015-07-30 04:36:15

标签: javascript php html smarty prestashop

我有一个代码,其中选择类别我正在获取产品,但我希望这些产品显示在选择框中。代码在JavaScript中。 我的代码不起作用,我使用for循环在选择框中显示产品。 我的代码如下:

<script>
    var abc = {
        $finprolist
    } // product list with category {4:bat,ball}

    function getid() {
        var e = document.getElementById("category");
        var cate = e.options[e.selectedIndex].value; //onselect category id

        var check = abc[cate];
        alert(check); //getting products here based on category selected


        var productsfin = '';
        productsfin += '<option value="">Select Product</option>';

        for (var i = 0; i < check.length; i++) {
            productsfin += '<option value="' + check[i] + '">' + check[i] + '</option>';
        }
    }
</script>

直到警告(检查)它的工作正常我现在尝试在for循环中打印这些产品以显示内部选择框不起作用。请帮忙..

2 个答案:

答案 0 :(得分:0)

以下是您的代码格式正确:

var abc = {$finprolist} // product list with category {4:bat,ball}
function getid(){
    var e = document.getElementById("category");
    var cate = e.options[e.selectedIndex].value;//onselect category id
    var check = abc[cate];
    alert (check);//getting products here based on category selected
    var productsfin = '';
    productsfin += '<option value="">Select Product</option>';
    for(var i=0;i< check.length;i++){
        productsfin +=  '<option value="' + check[i] + '">' + check[i] + '</option>';
    }
}

所以如果abc是{4:"bat,ball,chair"},那么检查应该是:

check=abc[cate].split(',');

&#13;
&#13;
abc={4:"bat,ball,chair"}

check=abc[4].split(',');

var productsfin = '';
productsfin += '<option value="">Select Product</option>';
for(var i=0;i< check.length;i++){
    productsfin +=  '<option value="' + check[i] + '">' + check[i] + '</option>';
}
alert (productsfin);
  
&#13;
&#13;
&#13;

我仍然不确定你是否正确定义了abc。它通常应该更像abc=$finprolist而不是abc = {$ finprolist}或abc=[$finprolist]

在第二种情况下,检查将是check=abc[0][cate].split(',')

答案 1 :(得分:-1)

那是什么?

var abc = {$finprolist} // product list with category {4:bat,ball}

这看起来真的不对。

我不知道你在这做什么,但它看起来像融化PHP和javascript,所以它可能是:

var abc = {<?php echo $finprolist; ?>} // product list with category {4:bat,ball}

但是:变量$ finprolist必须是JSON中的字符串