我有一个代码,其中选择类别我正在获取产品,但我希望这些产品显示在选择框中。代码在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循环中打印这些产品以显示内部选择框不起作用。请帮忙..
答案 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(',');
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;
我仍然不确定你是否正确定义了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中的字符串