使用与@ Ajax.ActionLink任务相同的jquery onchange完成任务

时间:2012-04-17 12:21:50

标签: jquery ajax asp.net-mvc

我有以下ajax请求创建一个链接,当点击该链接时,将我标记为“testDiv”的div替换为我通过方法“ControllerMethod”从控制器返回的一些信息:

<div class ="editor-field" id ="clickableAjax">
    @Ajax.ActionLink("Click Here to replace testDiv", "ControllerMethod", new AjaxOptions
                                                    {
                                                        UpdateTargetId = "testDiv",
                                                        HttpMethod="GET",
                                                        InsertionMode= InsertionMode.Replace,
                                                    }))
</div>
<div id="testDiv">
</div>

当用户选择以下下拉列表中的任何内容时,如何以与上述相同的方式进行网页回复:

<div>
        @Html.DropDownListFor(x => x.Selected, Model.MyModel, "Custom")
        @Html.ValidationMessageFor(model => model.Courses)
</div>

我尝试了以下方面的内容:

$(document).ready(function () {
    $("Selected").change(function () {
        $("testDiv").replaceWith('<h2>test text</h2>');
    });
});

。 。 。只是当用户在下拉列表中进行选择时尝试让页面执行任何,但就好像什么也没发生 - 用户可以在下拉列表中选择任何内容而不做任何更改。

注意:我在我的jquery中使用id“Selected”来尝试选择我的下拉列表,这是不正确的?如果我使用上述方法创建下拉列表,我的下拉列表会是什么?

2 个答案:

答案 0 :(得分:1)

<div>元素的选择器不正确。由于您尝试根据其id属性选择它,因此您需要使用ID选择器:

$('#testDiv').replaceWith('<h2>test text</h2>');

尝试绑定change事件处理程序时,选择器也遇到了同样的问题。

答案 1 :(得分:1)

$(document).ready(function () {
    $("#Selected").change(function () {
        $("#testDiv").html('<h2>test text</h2>');
    });
});