这是我的代码尝试过的
<script type="text/javascript">
$('#doctorselected').on('change', function(e){
console.log(e);
var doctorid = e.target.value;
var url = '{{URL::to('getdocDetails')}}';
$.ajax({
type : 'get',
url : url,
data : {'doctorid':doctorid},
success:function(data){
console.log(data);
var d = $.parseJSON(data);
console.log(d);
var output = '';
$.each(d,function(i,e) {
output += '<tr><td>'+e.products+'</td></tr>'
});
$('#tbody').append(output);
},
error:function(data)
{
console.log(data);
}
});
});
</script>
这是此代码的输出,
当我选择下拉列表时,将显示所有数组值,例如 A,B,C,D
我要在每行中显示一个值
喜欢
A
B
C
D
请帮帮我。
答案 0 :(得分:0)
您作为each
方法的输入发送的数组目前只有一个项目,一个具有键products
的对象,以及带有逗号分隔的产品列表的值,在这种情况下为Crocin和锡纳莱斯特:
[{
products: "Crocin,Sinarest"
}]
结果,列表将仅包含并显示一个项目,即该对象。
您需要将对象转换为包含产品的数组,以呈现列表。我建议在后端执行此操作。您可以使用explode(",", "Crocin,Sinarest");
如果您不想更改后端,则可以在JavaScript中执行以下操作:
$.each(d[0].products.split(","), function (index, product) {
output += '<tr><td>' + product + '</td></tr>'
});
希望这会有所帮助!