如何动态传递数据以选择列表? [英] How to dynamicly pass data to select list?

查看:88
本文介绍了如何动态传递数据以选择列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用jquery动态地将数据传递到我的选择列表.我在控制台中看到了该数据,但列表为空.您能帮我找到解决方案吗?

I need to dynamicly pass data to my select list with jquery. I see that data in console but my list is empty. Can you help me find the solution?

<script type="text/javascript">
    var kunnr;
    $(document).ready(function () {
        $('#NAME1').autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "Form2",
                    method: 'POST',
                    data: {
                        term: $('#NAME1').val()
                    },
                    success: function (data) {
                        response(data);
                    }
                });
            },
            select: function (event, ui) {
                kunnr = ui.item.kunnr;
                $.ajax({
                    url: "Form3",
                    method: 'POST',
                    data: {
                        kunnr: kunnr
                    },
                    success: function (data) {
                        console.log(data); 
                    //there is my data ^ i need to pass to select list

                    }
                });
            }
        });
    });
</script>

我的选择列表

@Html.DropDownListFor(model => model.Subaccount, new SelectList(" "), new { @class = "form-control" })

推荐答案

将您的JavaScript代码更改为此

Change your javascript code to this

var kunnr;
$(document).ready(function () {
    $('#NAME1').autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "Form2",
                method: 'POST',
                data: {
                    term: $('#NAME1').val()
                },
                success: function (data) {
                    response(data);
                }
            });
        },
        select: function (event, ui) {
            kunnr = ui.item.kunnr;
            $.ajax({
                url: "Form3",
                method: 'POST',
                data: {
                    kunnr: kunnr
                },
                success: function (data) {
                    var selectData = JSON.parse(data);//use JSON.parse(), if the data is not already json formatted
                    $("#Subaccount").empty();
                    selectData.forEach(function (obj) {
                    //NOTE the Value and Text are what you assigned them when you fetched them
                        $('#Subaccount').append($('<option></option>').val(obj.Value).html(obj.Text));
                    });
                }
            });
        }
    });
});

这篇关于如何动态传递数据以选择列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆