填充选择选项通过ajax显示undefined - Laravel

时间:2014-03-14 18:58:53

标签: javascript jquery ajax laravel

这些选项填充了未定义的内容,我不确定我要键入什么来正确调用该值。问题似乎与javascript一致:

... products.append

public function institutionProductsAction() {

    $input = Input::get('option');



    $products = ClientProduct::select('product_name', 'product_id') -> where('client_id', '=', $input) -> where('product_type_id', '=', '7')->get('product_name', 'product_id');

    $items = array();
    foreach($products as $product) {

        $items[$product->product_id] =   $product->product_name;

    }

    return $items;


}

这是javascript

$('.institution').change(function() {
    $.get("api/dropdown",
        { option: $(this).val() },
        function(data) {
            var products = $('.institution_products');
            products.empty();

            $.each(data, function(index, element) {
                products.append("<option value='" + element.product_id + "'>" + element.product_name + "</option>");
            });
        }
    );
});

1 个答案:

答案 0 :(得分:0)

尝试

products.append("<option value='" + index + "'>" + element + "</option>");

你要归还这个

$items[$product->product_id] =   $product->product_name;

产品ID将是索引,产品名称将是值;

检查服务器返回的json。我打赌会像

{
     "1": "name 1",
     "45": "name 2",
}