0

我有一个下拉列表。下拉列表的值是 EventID,文本是 EventName。我想根据 eventID 获取事件。事件应该以 json 格式出现。我想发出 ajax 请求并以 json 格式获取事件,但我不知道如何发出 ajax 请求。我正在使用 MVC。那是我的下拉列表html;

 <div class="control-group">
                    <label class="control-label" for="eventname">@(PageResources.event_)</label>
                    <div class="controls">
                        <select name="EventID" id="eventID" class="input-xlarge">
                            @foreach (var item in eventList)
                            {
                                <option value="@item.UserEvent.EventID">@item.UserEvent.EventID-@item.UserEvent.Name</option>
                            }
                        </select>
                        <span class="help-inline">@Html.ValidationMessageFor(x => x.EventID) &nbsp </span>
                    </div>
                </div>
$("#eventID").change(function () {



        });
4

1 回答 1

1

我实现了类似的东西,返回的数据是一个 json 对象数组,它有一个 id 和 name,我用来填充第二个下拉列表。

    $("#MyFirstDropdown").on("change", function () {
        $.ajax({
            url: 'MyUrl',
            type: 'GET',
            data: { ID: $(this).val() }, //Passing over the the value selected, the action result is expecting and ID parameter passed to it
            success: function (data) {
                //Clear out the previous elements added
                var domContinents = $("#MyOtherDropdown").get(0);
                for (var i = domContinents.options.length; i >= 0; i--) {
                    domContinents.remove(i);
                }

                //Add new elements from request
                for (var i = 0; i < data.length; i++) {
                    var item = data[i];
                    var opt = new Option(item.Name, item.Id);
                    $("#MyOtherDropdown").append(opt);
                }
            }
        });
    });
于 2013-09-10T15:46:48.070 回答